0

希望在 JPQL 中执行可能的子选择。我经常使用 SQL,并希望执行如下查询:

Select ((Select SUM(e.hours.hours) from app$Time e 
where e.type = 'Purchased')
 - 
(Select SUM(f.hours.hours) from app$Time f 
where f.type = 'Used'))

我还没有看到很多 JPQL 执行这样的查询的例子,希望这是可能的。

4

1 回答 1

1

杰伊,

JPA 2.1 规范不支持选择列表中的子查询。

从规范:

SELECT 子句可以包含以下一个或多个元素:范围在抽象模式类型上的标识变量、单值路径表达式、标量表达式、聚合表达式、构造函数表达式。

解决方法:您可以执行两个 JPQL 查询并在 java 代码中从 Purchased 中减去 Used

于 2017-04-28T06:03:57.690 回答