我需要查询一个表并仅投影1列。在Hibernate Criteria API中,有Projections
类之类的东西。但是Hibernate Criteria API现在已被弃用,我需要切换到使用JPA Criteria API。我知道以下机会:
cb.construct(EmpMenu.class,
c.get("name"), c.get("department").get("name"));
但是问题是我只需要检索1个属性。在上面的这种方法中,仅出于映射的目的,我将创建一个虚拟对象包装器。我会在那里定义所需的字段,它将起作用。
但是有更清晰的方法吗?谢谢!
答案 0 :(得分:1)
互联网上有很多JPA Criteria文档对此进行了解释。例如this one。简单来说,您可以选择字段的路径,就像这样
Path nameField = candidateRoot.get(Person_.name);
crit.select(nameField);