2016-11-11 5 views
0

クラスbのListのすべてがboolean rbの値がクラスbのfalseである子の条件を追加したいと思います。JavaのリストにHibernateの子条件の制限を適用する方法はありますか?

Criteria criteria = sessionFactory.getCurrentSession().createCriteria(A.class,"a"); 
    criteria.add(Restrictions.like("a.name","hi", MatchMode.ANYWHERE); 

rbの値を含むbのリストからいくつかの要素を取得するこの子条件をどのように追加するかはfalseですか?

答えて

0

Hibernateのドキュメントで説明したように、あなたのケースであなたが'b'のエイリアスを作成したいだから、

List cats = sess.createCriteria(Cat.class) 
    .createAlias("kittens", "kt") 
    .createAlias("mate", "mt") 
    .add(Restrictions.eqProperty("kt.name", "mt.name")) 
    .list(); 

をエイリアスを使用することができます。

Criteria criteria = sessionFactory.getCurrentSession().createCriteria(A.class,"a"); 
    criteria.createAlias('b', 'b'); 
    criteria.add(Restrictions.eq('b.rb', false)); 
    ... 

https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html

関連する問題