如何使用 Criteria 查询关联的深度 parents
How to query associated deep parents using Criteria
在使用休眠条件 运行 查询时,为了能够按 parent 的属性进行搜索,我使用了这种方法:
List children = session.createCriteria(Child.class)
.createAlias("parent", "parent")
.add( Restrictions.eq("parent.name", "name") )
.list();
但我想知道如何支持深度 parents 查询?我使用以下方法,但它不起作用。
List children = session.createCriteria(Child.class)
.createAlias("parent", "parent")
.createAlias("grandfather", "grandfather")
.add( Restrictions.eq("parent.grandfather.name", "name") )
.list();
如果我想通过parent.grandfater.name查询,想知道如何支持这种类型的查询?
别名是一个JOIN,所以使用如下:
List children = session.createCriteria(Child.class)
.createAlias("parent", "parent")
.createAlias("parent.grandfather", "grandfather")
.add( Restrictions.eq("grandfather.name", "name") )
.list();
在使用休眠条件 运行 查询时,为了能够按 parent 的属性进行搜索,我使用了这种方法:
List children = session.createCriteria(Child.class)
.createAlias("parent", "parent")
.add( Restrictions.eq("parent.name", "name") )
.list();
但我想知道如何支持深度 parents 查询?我使用以下方法,但它不起作用。
List children = session.createCriteria(Child.class)
.createAlias("parent", "parent")
.createAlias("grandfather", "grandfather")
.add( Restrictions.eq("parent.grandfather.name", "name") )
.list();
如果我想通过parent.grandfater.name查询,想知道如何支持这种类型的查询?
别名是一个JOIN,所以使用如下:
List children = session.createCriteria(Child.class)
.createAlias("parent", "parent")
.createAlias("parent.grandfather", "grandfather")
.add( Restrictions.eq("grandfather.name", "name") )
.list();