use*_*052 16 java hibernate jpql criteria-api jpa-2.0
我想知道是否有可能创建这样的查询:
em.createQuery(
"SELECT NEW EmpMenu(p.name, p.department.name) "
+ "FROM Project p ").getResultList();
Run Code Online (Sandbox Code Playgroud)
也可以通过规范来做到这一点:
public Predicate toPredicate(Root<T> root, CriteriaQuery<?> query,
CriteriaBuilder cb) {
return ???;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
Mik*_*unu 29
是的,Criteria API确实具有类似于JPQL构造函数表达式的构造.Resuls类是通过CriteriaBuilder中的construct方法设置的.
您表示为条件查询的JPQL查询是:
CriteriaBuilder cb...
CriteriaQuery<EmpMenu> q = cb.createQuery(EmpMenu.class);
Root<Project> c = q.from(Project.class);
q.select(cb.construct(EmpMenu.class,
c.get("name"), c.get("department").get("name")));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12526 次 |
| 最近记录: |