조건 API는 다른 쿼리를 제한으로 추가 할 수있는 조항이 없습니다. @Niroshan Abayakoon이 말하고자하는 것은 IN
절의 쿼리를 seperatly &에 추가해야한다고 생각합니다. Restrictions.in()
조건.
List<?> entity2Data=//get data from either a query or criteria
List<?> entity3Data=//get data from either a query or criteria
Criteria c = // obtain criteria from session
// basically creates an OR condition chain
Disjunction orConditions = Restrctions.disjunction();
orConditions.add(Restrictions.in("obj", entity2Data));
orConditions.add(Restrictions.in("obj", entity3Data));
c.add(orConditions);
IN
절의 목록을 고려하면 최대 절전 모드가됩니다.
이와 같은 상황에서는 항상 HQL로 대체하는 것이 좋습니다.
대단히 감사합니다. 하지만 여전히 "createCriteria (null)"을 이해하지 못합니다. 왜 null 매개 변수입니까? 언제 Entity1을 쿼리합니까? 왜 두 번째 createCriteria가 첫 번째 createCriteria와 독립적인가? 나는 끝에 하나의리스트를 얻을 필요가있다. 감사! – edutesoy
그 오류는 ... 내 답변을 업데이 트했습니다 ... –
'Restrictions.in (String, String)'은 ** propertyName **을 첫 번째 매개 변수로 기대하기 때문에 여전히 문제가 있습니다. Entity2.class 또는 "Entity"중 어느 것도 작동하지 않음). – edutesoy