Hibernate条件查询。创建子标准后,我可以返回原始标准吗?

时间:2017-11-22 19:44:30

标签: java hibernate hibernate-criteria

在Hibernate教程中有一个example of sub-criteria

但在" kittens"上创建子标准后,我可以回到原来的那个吗?如果我写一行.add(Restrictions.like("id", 1)),它是否会限制Cat.id或Cat.kittens.id?有没有办法再回头限制cat.id?

List cats = sess.createCriteria(Cat.class)
    .add( Restrictions.like("name", "F%") )
    .createCriteria("kittens") 
        .add( Restrictions.like("name", "F%") ) 
    .add(Restrictions.like("id", 1)) // on Cat.id or Cat.kittens.id?
    .list();

1 个答案:

答案 0 :(得分:1)

为避免混淆,请添加以下代码

之类的批评
    List cats = sess.createCriteria(Cat.class).createCriteria("cat")
.add( Restrictions.like("name", "F%") )
.createCriteria("kittens") 
    .add( Restrictions.like("name", "F%") ) 
.add(Restrictions.like("cat.id", 1)) // on Cat.id or Cat.kittens.id?
.list();

希望这会有所帮助。