2017-04-26 60 views
0

尋求在JPQL中執行可能的子選擇。我使用SQL頻繁,希望這樣進行查詢:JPQL中的子選擇

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的許多例子進行這樣的查詢,希望這是可能的。

+0

的購買使用什麼意思了'查詢中間-'信號?你在減去結果嗎? – Dherik

回答

0

Jay,

JPA 2.1規範不支持選擇列表中的子查詢。

從規範:

SELECT子句可以包含以下元素中的一個或多個:識別變量 範圍超過一個抽象模式類型,單值路徑表達式,標量表達,集合體 表達式,一個構造函數表達式。

解決方法:可以執行兩種JPQL查詢,並減去在Java代碼中

+0

謝謝。這就是我最終做的。 –