1
Hibernate를 사용하여 변경할 수없는 레거시 데이터 모델에 매핑합니다. 특정 쿼리에 대해 하나 이상의 속성을 포함하는 조인 조건을 사용하는 일부 HQL을 생성하려고합니다.Hibernate 조건부 HQL join
클래스 Consumer
과 그 두 가지 속성을 고려 - 유형 Gadget
모두 : 난 달성하기 위해 노력하고있는 무슨 설명이 무섭게 인위적인 예를
consumer
테이블에 두 개의 외래 키를 가지고
@Table(name = "consumer")
class Consumer {
@Column(name = "mp3_player")
Gadget mp3Player;
@Column(name = "mobile_phone")
Gadget mobilePhone;
...
공지 사항 gadget
테이블 - 이상적이지는 않지만 내가해야 할 일이 있습니다. Consumer
'밥'이 MP3 플레이어 또는 전화로 사용하는 'iphone'이라는 Gadgets
의 목록을 얻고 싶습니다. 포스트 그레스와 나는 쓸 수있다 : 나는 HQL이 쿼리를 표현하기 위해 시도했지만이 조인 절은 하나 개의 조건을 포함 할 것을 요구하는 표시
select gadget.*
from consumer join gadget on (
consumer.mp3_player = gadget.id or consumer.mobile_phone = gadget.id
)
where consumer.name = 'bob' and gadget.name = 'iphone';
. 그렇다면 HQL에서 비슷한 쿼리를 어떻게 표현할 수 있습니까?
답장을 보내 주셔서 감사합니다. 질문에서 일부 세부 사항을 빠뜨린 것이므로 지금 업데이트 할 것입니다. – teabot
좋아, 그래서 내가 잘못된 질문을하고있는 것으로 판명되었다 - 사과. 질문이 업데이트되었습니다. – teabot