java - 如何在 JPA Criteria API 中投影单个列?

标签 java hibernate jpa hibernate-criteria criteria-api

我需要查询一个表并仅投影 1 列。在 Hibernate Criteria API 中,有诸如 Projections 类之类的东西。但 Hibernate Criteria API 现在已弃用,我需要改用 JPA Criteria API。我知道以下机会:

cb.construct(EmpMenu.class,
      c.get("name"), c.get("department").get("name"));

但问题是我只需要检索 1 个属性。在上面的方法中,我将创建一个虚拟对象包装器只是为了映射。我会在那里定义所需的字段,它将起作用。

但是有没有更清晰的方法呢?谢谢!

最佳答案

互联网上有许多 JPA Criteria 文档对此进行了解释。例如this one 。简单来说,您选择字段的路径,如下所示

Path nameField = candidateRoot.get(Person_.name);
crit.select(nameField);

关于java - 如何在 JPA Criteria API 中投影单个列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52735868/

相关文章:

java - Clickatell Connect API - 未找到 XML 数据

java - Hibernate @Any 无法获取对象

Hibernate 不在一对多关系中插入列

java - Hibernate异常: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set but works on another machine with no issue

java - JPS : HQL query to check null attribute

java - libgdx 无法将纹理加载到数组

java - 所有 hibernate 映射对象都需要可序列化吗?

java - Hibernate 和 Hibernate JPA 的区别

mysql - 缺少 JPA 实体概念?我是否错误地假设 JPA 条目将保存到我现有的数据库表中?

java - 运行时执行不显示结果