2014-09-18 2 views
1

처리하려는 상황은 계정에 여러 위치가있을 수 있습니다. 이것은 대개 일대 다 (one-to-many) 일 것이고 간단히 말해서 Account 내에서 one-to-many 주석을 가진 List와 many-to-one 주석을 가진 Account 인 Position이있을 것이라고 생각합니다. 그러나 현재 위치를 보유하고있는 계정뿐만 아니라 위치를 단락 한 계정 인 다른 계정이있을 수도 있습니다.JPA : ManyToMany의 사례를 처리하는 방법

내가 처리하고 싶은 방식은 Position 인스턴스 내에서 Account 인스턴스를 분리해야한다는 것입니다. owningAccount 및 shortingAccount (null 인 인스턴스). 이 방법으로 할 수 있습니까?

그렇지 않은 경우,이 상황을 다 대다로 처리해야하는 것처럼 보입니다. Position은 또한 소유 또는 단 축 계좌인지 여부를 나타내는 Account의 다른 필드의 어색함이라고 생각하는 목록을 보유합니다.

첫 번째 접근 방식은 전혀 작동합니까? 아니라면 두 번째 접근 방식에서 해결책을 설명합니까?

답변

0

아쉽게도 바닐라 JPA에서는 첫 번째 방법이 적합하지 않습니다. 쿼리/속성에 연결을 연결하는 기능이 없습니다.

두 번째 방법은 many-to-many에서 가능합니다. 논리 연결 각각에 대해 접근 자 (get/setOwningAccountget/setShortingAccount)를 제공하여 기술적으로 어색함을 부분적으로 피할 수 있습니다. 접근자는 관계의 다 - 대 - 다 특성을 숨길 것이다.

관련 문제