저는 현재 작업중인 애플리케이션에 Spring JDBC를 사용하고 있는데 문제가 있습니다. 내 도메인 계층에는 필드가 있습니다. 원시 타입들과 객체 연관들. 사람이 자치 도시에 속해있는 경우 :Spring JDBC 일대일 관계
public class Person {
private Municipality municipality;
// More code
}
public class Municipality {
// More code
}
데이터베이스에서 이것을 기본 + 외래 키로 모델링합니다. 이 경우 person 테이블에는 시정 촌 테이블의 기본 키에 대한 외래 키가 있습니다. 저는 개인과 자치체를위한 저장소를 만들었습니다. 이제 Person을 검색하고 싶지만 동시에 Municipality와 연결하려고합니다.
내가하는 첫 번째 작업은 Person 저장소를 사용하는 사람을 찾는 것입니다. 그런 다음 나는 그 인물에 속한 지방 자치체를 찾고 싶다. 그러나 지금은 내 도메인 개체에 모델링 된 외래 키가 없습니다. 즉, Person 클래스에 private int municipality_id
필드가 없습니다. 이로 인해 도메인 객체가 데이터베이스와 결합됩니다 (적어도 이제는 그것에 대해).
municipality_id를 찾기 위해 다른 쿼리를 실행하면 잘못된 것으로 느껴집니다. 이 문제를 어떻게 해결할 수 있습니까? 그러나 시정촌을 찾으려면 municipality_id가 필요합니다.
모델에 municipalityId를 추가하거나 ORM (JPA, Hibernate 등)을 사용하십시오. 참고 : 모델은 데이터베이스에서 오는 데이터를 나타냅니다. 외래 키 필드가있는 문제는 무엇입니까? –
도메인 계층이 지속성을 위해 데이터베이스를 사용한다는 것을 "알았"습니까? 내 말은, 왜 모델에 외래 키가 있어야할까요? 또는 그것은 okey 다? – LuckyLuke
@ LuckyLuke 모든 도메인 계층은 일부 영구 저장소에서 나중에 가져올 수있는 고유 한 번호로 다른 유형의 엔터티를 식별 할 수 있다는 것을 알고 있습니다. 불행히도 나는 도메인 클래스가 전체적으로 영속성을 갖지 못하게하는 방법에 대해 확신하지 못합니다. – millimoose