2016-11-10 3 views
2

나는 Hibernate 초보자이며이 쿼리는 아래에있다. 그것은 내가 예상대로 작동하고 있습니다. 이 두 테이블은 연관되어 있지 않습니다. 기준 API를 사용하여 동일한 결과를 얻는 방법이 있습니까? 아니면 최대 절전 모드를 통해이 쿼리를 실행할 수 있습니까? 어떤 도움을 주시면 감사하겠습니다.최대 절전 모드 조건 : 연결없이 최대 절전 모드로 전환

SELECT p.title, c.content 
    FROM posts p 
    LEFT JOIN comments c ON p.id = c.post_id 
    WHERE p.status = 'A' AND (p.title iLIKE '%r%' OR c.content iLIKE '%r%'); 

답변

0

기준 API는 엔티티 사이의 path이 필요합니다, 그래서 나는이 기준 API를 사용하여 수행 할 수있는 가입 확실하지 않다. 아직

select p.title, c.content 
from org.example.Posts p 
left outer join org.example.Comments c 
on p.id = c.id 
where p.status = 'A' AND (lower(p.title) LIKE '%r%' OR lower(c.content) LIKE '%r%'); 

, 당신은 게시물과 댓글 사이의 연결을 만들 더 나은 여전히 ​​최대 절전 모드로 SQL 쿼리를 사용하거나에 충실 수 : 당신이 최대 절전 모드> = 5.1가있는 경우에 더 나은 HQL 함께 할.

+0

나는 초보자부터 구현에 문제가 있습니다. 왼쪽 가입에 대한 예를 제공해 주시겠습니까? – Tartar

+0

예제를 추가했습니다. 2 노트 : 최신 절전 모드가 필요하고 HQL은 대소 문자를 구별하지 않는 연산자 인 ilike를 지원하지 않으므로 명시 적으로 소문자를 사용해야합니다. – borowis

+0

최신 버전이 없기 때문에 Criteria API를 사용해야합니다. 엔티티 사이에 경로가 없기 때문에 의미가 없다는 것을 알고 있지만 db와 엔티티를 디자인하지 않았습니다. – Tartar

관련 문제