java - hibernate 标准 API : how to get the sum of all the values along two columns

标签 java hibernate criteria projection

问题很简单,但我无法让某些东西发挥作用。 比如说,我有下表

|....X....|.....A.....|.....B....|
|...........|.....3.....|.....2.....|
|...........|.....1.....|.....4.....|
|...........|.....1.....|.....2.....|

我只需获取 A 列和 B 列中的值的总和,因此 (3 + 1 + 1) + (2 + 4 + 2) = 13,我想通过 Criteria API 获得它。

我尝试创建一个 Projection 对 A 上的值求和,并创建一个 DetachedCriteria,并使用类似的 Projection 对 B 上的值求和,但我无法从中获得唯一的结果DetachedCriteria 因为它不公开此方法。

有什么建议吗?

最佳答案

您可以使用sqlProjection来做到这一点

.setProjection(Projections.sqlProjection("sum(A + B) as sumAB", new String[] {"sumAB"} , new Type[] {Hibernate.DOUBLE}));

关于java - hibernate 标准 API : how to get the sum of all the values along two columns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29893369/

相关文章:

Java输入小数错误

java - 通过 https 的 REST API

java - 处理(或抑制)AutoCloseable 抛出的异常的推荐方法是什么?

java - [java bean]hibernate Session 破坏了 java bean?

criteria - Jpa QueryBuilder where子句中的多个表达式不起作用

java - 如何安装 Xuggler?

java - 如何限制用户在 jpa 列中仅输入特定值?

java - kotlin:注释中数组的一些问题

mysql - jpa 标准按聚合值分组

java - 使用 hibernate 标准,有没有办法转义特殊字符?