java - EJBQL 命名查询 - 如何对 BigDecimal 求和

标签 java ejb sum bigdecimal named-query

我有一个代表金钱的 BigDecimal。我希望能够在 NamedQuery 中选择它的总和,但它不会对 BigDecimals 求和。

@NamedQuery(name=Account.CALCULATE_TRANSACTIONS, query="SELECT SUM(a.credit) + SUM(a.debit) FROM Transaction a WHERE a.account.id = :accountId AND a.journalEntry.staged = false")

其中贷方和借方是 BigDecimals。这是行不通的。除了将它们全部取出、迭代并生成总数之外,最好的方法是什么?我知道我可以做到这一点,但如果可能的话,寻找一种方法在一个查询中做到这一点。

谢谢!

最佳答案

只是一个更新/答案。根据我的研究,这在 EJBQL3 中是不可能的。我必须在命名查询的范围之外执行此操作。

关于java - EJBQL 命名查询 - 如何对 BigDecimal 求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13870110/

相关文章:

java - 服务器时区值 'AEST' 无法识别或代表多个时区

java - 日志中的 EJB Default -[number] 是什么?

java - EJB 空点异常

mysql - 为了使 Grails 应用程序能够很好地扩展,您需要使用 EJB 吗?

java - JPA 中外键的主详细信息 ID

java - GSON 不发送 UTF-8

java - 添加第二列与第一列中的重复元素

mysql - 表包含文件名和大小...需要查询以返回每种文件类型的计数和每种类型的总和大小

r - 向量元素之和

AWS lambda 中的 Java 8 并发?