java - 使用 Hibernate Criteria 将 Projection 字段设置为 hibernate 中的外键列

标签 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 = Projections.projectionList();
                proList.add(Projections.property("gradeId.gradeId"));

异常:

org.hibernate.QueryException: could not resolve property: gradeId of: com.treamis.entity.UserEntity

最佳答案

尽管回答迟了:(提出了相同的场景)

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

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

关于java - 使用 Hibernate Criteria 将 Projection 字段设置为 hibernate 中的外键列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23150270/

相关文章:

java - Java的SASS实现?

java - 关于 JPA TABLE_PER_CLASS 和子实体 id

java - 如何编写简单的 Hibernate Criteria 子查询

hibernate - AliasToBeanResultTransformer(MyDTO.class)无法实例化MyDTO

java - 标准总和投影

oracle - Hibernate - 按公式属性排序标准

java - 我的 Cursor.moveToFirst 总是返回 false

java - 限制对 RESTful 服务的调用次数

java - 意外的 MVEL2 行为

java - 如何强制 Hibernate 3.3 或 3.5 使用 CGLib 而不是 Javassist?