【发布时间】:2016-03-06 13:01:30
【问题描述】:
我想在 WHERE 子句和 ORDER BY 表达式中使用计算值。在普通的 sql 中,它看起来像
SELECT some, colums, (some arbitrary math) AS calc_value FROM table WHERE calc_value <= ? ORDER BY calc_value
如果我在 JPQL 中尝试
entitymanager.createQuery("SELECT e, (some arbitrary math) AS calc_value FROM Entity e WHERE calc_value <= :param ORDER BY calc_value", Entity.class);
它失败了。显然,因为查询的返回是Entity和calc_value的元组(即Double)。
有没有一种方法可以使用强类型返回值(即 Entity.class,因为计算值无关紧要)将其放入一个查询中。
【问题讨论】:
-
尝试创建一个 DTO 并返回它:stackoverflow.com/questions/2355728/…
标签: jpql