2017-09-19 1 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に似ていますが、この最後のものは推奨されていません。

関連する問題