2017-09-19 12 views
0

상위 클래스에 제한과 기준이 작동하지 않습니다 :최대 절전 모드 - 나는 B에 대한 기준을 만들어 자식 B.와 함께 obect A를 가지고 있지만 그러나 A.에 대한 제한을 사용하려고

Criteria criteria = getCurrentSession().createCriteria(B.class, "p"); 
criteria.add(eq("B.name", nameB)); 
criteria.add(eq("B.a.name", nameA)); 

return criteria.list(); 

나는 다음과 같은 오류가 발생했습니다 :

org.hibernate.QueryException: could not resolve property: a.name of: model.B 

저는 Ba 속성에 FetchType.LAZY가있는 경우 중요합니다. 나는 그것을 FetchType.EAGER로 변경하려했지만 도움이되지 않았다.

답변

0

설명서 덕분에 해결되었습니다.

criteria.add(eq("nom", nomB)).setFetchMode("a", FetchMode.JOIN).createCriteria("a").add(eq("nom", nomA)); 

FetchMode.JOIN은 FetchMode.EAGER와 유사하지만이 중 하나는 더 이상 사용되지 않습니다.