나는 쿼리 두 개의 테이블이 있고, 지금까지 나는 다음과 같은 HQL 쿼리와 함께 왔어요 : 나는 두 테이블을 조회하고있어최대 절전 기준을 사용하여 단일 쿼리에서 여러 테이블에 액세스하는 방법?
From DriverEntity d
where exists (
From LicenceEntity l
where driverId = d.Id
and l.licenceType.id = '3'
and l.validFrom > TO_DATE('2014-01-01', 'YYYY-MM-DD')
and l.validFrom < TO_DATE('2014-04-17', 'YYYY-MM-DD')
and l.validTo > TO_DATE('2014-07-02', 'YYYY-MM-DD')
and l.validTo < TO_DATE('2095-07-12', 'YYYY-MM-DD')))
; 하나는 라이센스가 있고 다른 하나는 운전사가 있습니다. 각 드라이버에는 많은 라이센스가있을 수 있습니다.
쿼리가 완벽하게 작동하지만 더 많은 검색 옵션을 추가 할 때 쉽게 편집 할 수 있도록 조건을 대신 사용하고 싶습니다.
기준을 사용하여이 쿼리를 어떻게 보이나요? DetachedCriteria를 살펴 봤지만 완전히 이해하지 못합니다.
무엇을 시도 했습니까? StackOverflow는 뭔가를 시도하고 문제가있는 특정 질문을하기위한 사이트입니다. 일반 "어떻게해야합니까?"시도가없는 질문은 나쁜 시간을 갖는 경향이 있고 어느 정도는 그렇습니다. 문제가있는 경우 무언가를 시도한 다음 특정 질문을하십시오. – Avery
왜, 기준을 사용해야합니까? 내 개인적인 경험으로 인해 단편화가 발생했습니다 ... anytime = 이상으로 HQL을 사용합니다.) – corsiKa
제한 사항을 많이 추가 할 예정이므로 Criteria를 사용하고 싶습니다. HQL 쿼리는 매우 복잡합니다. 동안. – trifri