Java hibernate中按子类排序的条件

Java hibernate中按子类排序的条件,java,hibernate,criteria-api,Java,Hibernate,Criteria Api,我试着使用秩序、咨询、制度。可能吗? 为了实现这一点 riteria crit = sessionFactory.getCurrentSession() .createCriteria(Order.class) .setProjection(Projections.distinct( Projections.projectionList() .add(P

我试着使用秩序、咨询、制度。可能吗? 为了实现这一点

riteria crit = sessionFactory.getCurrentSession()
                .createCriteria(Order.class)
                .setProjection(Projections.distinct(
                    Projections.projectionList()
                    .add(Projections.property("this.id"))
                    .add(Projections.property("this.creationDate"))
                    .add(Projections.property("this.effectiveDate"))
                    .add(Projections.property("this.modificationDate"))))
                .createAlias("this.consultation", "c")
                .createAlias("c.institution", "institution")
如果我想要访问其他子类(多级)。例如,如果我有像对象A包含对象B包含对象C这样的东西,那么,A->B->C

crit.addOrder(org.hibernate.criterion.Order.desc("institution"));
对于第二个问题,您可以通过这样做(例如A->B->C)大致访问子类及其方法

等等

.createAlias("this.consultation", "c")
.setProjection(Projections.distinct(
Projections.projectionList()
.add(Projections.property("this.id"))
.add(Projections.property("this.creationDate"))
.add(Projections.property("c.institution"))

...

crit.addOrder(org.hibernate.criterion.Order.desc("c.institution"));
.createAlias("this.a", "a")
.createAlias("a.b", "b")
.createAlias("b.c", "c")