在使用hibernate的Criteria运行查询时,为了能够按父项的属性进行搜索,我使用这种方法:
List children = session.createCriteria(Child.class)
.createAlias("parent", "parent")
.add( Restrictions.eq("parent.name", "name") )
.list();
但我想知道如何支持深层父母查询?我使用下面的方法,但它不起作用。
List children = session.createCriteria(Child.class)
.createAlias("parent", "parent")
.createAlias("grandfather", "grandfather")
.add( Restrictions.eq("parent.grandfather.name", "name") )
.list();
如果我想通过parent.grandfater.name查询,想知道如何支持这种类型的查询?
答案 0 :(得分:0)
别名是JOIN,请按以下方式使用:
List children = session.createCriteria(Child.class)
.createAlias("parent", "parent")
.createAlias("parent.grandfather", "grandfather")
.add( Restrictions.eq("grandfather.name", "name") )
.list();