2014-07-09 2 views
0

이 문제는 매우 기본적인 것이므로 매우 간단한 해결책이 있다고 확신합니다.OneToMany에 대한 Java 지속성 조건 (DB ManyToMany) 관계

DB 수준에서 다 대다 관계를 갖는 두 개의 엔터티가 있습니다.

CustomerChannelCustomer_Channel입니다.

저는 Java 지속성 기준 및 최대 절전 모드에서 프로가 아니며 더 큰 응용 프로그램의 일부입니다.

이제 고객과의 관계를 가져와야합니다. 그래서 나는 고객이 List<Channels> or List<Customer_Channels>을 갖도록 모델링하여 다 대다 관계 또는 일대 다 관계로 만듭니다.

채널 엔터티에는 아무 것도 필요하지 않습니다.

이제 특정 채널에 속한 고객을 가져 오기 위해 만든 조건 쿼리가 필요합니다. 아주 간단한 SQL은

Select Customer from Customer, Channel, Customer_Channel where Customer.ID=Customer_Channel.CustomerID and Customer_Channel.ChannelID=Channel.ID and Channel.ID = ? 

또는 매우 직접 취할 것과이 경우에 기준 쿼리 것

Select Customer from Customer, Customer_Channel where Customer.ID=Customer_Channel.CustomerID and Customer_Channel.ChannelID=? 

그래서하는 방법이 될 수있을 것이다. 내 프로젝트는 MetaModel 클래스를 사용하지 않습니다.

덕분에 당신은 그것을 목록에 @ManyToMany 할 것입니다 도움

+0

[하이버 네이트 기준 쿼리 ManyToMany 관계]의 중복 가능성 (http://stackoverflow.com/questions/264339/querying-manytomany-relationship-with-hibernate-criteria) – Zeus

+0

감사 제우스 참조하시기 I 위에서 언급 한 질문에서 솔루션을 확인했는데이 점은 필자의 요점과 비슷하지만 Predicates를 통해이 작업을 수행 할 수있는 방법이 있습니다. 내 프로젝트에는 SQL을 사용하지 않고 이러한 작업이 이미 있습니다. SQL 대신 기존 API에 직접적으로 들어 맞는 API를 사용하는 것이 좋습니다. – user3681527

답변

0

에 대한 많은. Jointable 등의 주석을 사용하여이 작업을 완료하십시오. 용액 here