기준에 맞게 HQL 쿼리를 이식하는 데 약간의 문제가 있습니다.HQL MEMBER OF 기준 변환
추상화를 위해 트랜잭션 -> 그룹 -> 계정 < - 내역 < - 트랜잭션과 같은 엔티티 트랜잭션, 계정, 그룹 및 히스토리가 있다고 가정 해 봅니다.
FROM Transaction t
INNER JOIN t.history AS h
INNER JOIN t.group AS g
WHERE t.group IS NULL OR history.account MEMBER OF g.accounts
그리고 지금은 다음을 수행해야합니다
가 나도 널 그룹 또는 그룹의 계정으로 모든 거래를 얻기 위해 다음 HQL 쿼리를 사용 : 또한 아래 ER 다이어그램을 참조하십시오 내 쿼리를 DetachedCriteria
으로 변환하지만 최대 절전 모드 제한 사항으로 MEMBER OF
기준에 대한 방법이없는 이유를 모릅니다.
아무도 도와 줄 수 있습니까?
감사합니다. 그러나 그룹에 계정 모음이 포함되어있어 단일 값과 모음을 비교할 수 없기 때문에이 방법이 저에게는 적합하지 않습니다. ( – vitalidze
Restrictions.in ("h.account", new String [] { * accounts * /}), 계정 이름 모음을 가져와 Restrictions.in을 사용하십시오. –
이미이 방법에 대해 생각해 보았지만 수천 개의 트랜잭션과 수백 개의 그룹 및 계정을 가질 수 있으므로 헤비급이고 확장 성이 없습니다. 많은 데이터를로드 할 필요없이 쿼리를 통해 동일한 작업을 수행하는 대신 각 트랜잭션에 대해 그룹과 관련된 모든 계정을 DB에서로드해야합니다. – vitalidze