我在两个不同的实体中用JPA计算了两笔钱:
SELECT SUM(da.debtorBalance) FROM DebtorAccount da WHERE <conditions for DebtorAccounts>
和
SELECT SUM(mda.debtorBalance) FROM MasterDebtorAccount mda WHERE <conditions for MasterDebtorAccounts>
我需要的是这笔钱的总和。 JPAQL有可能吗?或者我需要运行两个单独的查询并将其添加到应用程序中?
答案 0 :(得分:1)
你不能严格遵守JPQL。
在SQL中,它将类似于
SELECT SUM(a)FROM(从DebtorAccount UNION SELECT中选择da.debtorBalance a mda.debtorBalance a FROM MasterDebtorAccount)
JPA不支持UNION,尽管有几个实现。
不,如果没有联盟,你不能这样做,因为关系代数意味着你从DebtorAccount * MasterDebtorBalance开始,之后你通过条件/ aplying函数来改进它。
答案 1 :(得分:0)
SELECT SUM(SUM(da.debtorBalance), SUM(mda.debtorBalance))
FROM DebtorAccount da, MasterDebtorAccount mda
WHERE (<conditions for DebtorAccounts>) OR (<conditions for MasterDebtorAccounts>)
Regadrs,