Java 使用Hibernate条件将投影字段设置为Hibernate中的外键列

Java 使用Hibernate条件将投影字段设置为Hibernate中的外键列,java,hibernate,hibernate-criteria,Java,Hibernate,Hibernate Criteria,如何在hibernate条件查询中将投影字段设置为外键引用 Criteria crt = s.createCriteria(UsersforGrades.class).createCriteria("id", "id1").createCriteria("id1.userId", "id2").add(Restrictions.eq("id2.userId", ue.getUserId())); ProjectionList proList = Projecti

如何在hibernate条件查询中将投影字段设置为外键引用

 Criteria crt = s.createCriteria(UsersforGrades.class).createCriteria("id", "id1").createCriteria("id1.userId", "id2").add(Restrictions.eq("id2.userId", ue.getUserId()));
                ProjectionList proList = Projections.projectionList();
                proList.add(Projections.property("gradeId.gradeId"));
例外情况:

迟到的回答:(提出了相同的情况)

在这种情况下,您需要创建别名

criteria.createAlias("gradeId", "gradeId");
criteria.setProjection(Projections.property("gradeId.gradeId"));
criteria.createAlias("gradeId", "gradeId");
criteria.setProjection(Projections.property("gradeId.gradeId"));