如何将sql查询select sum(amount * direction) from transactions
写入休眠条件?在休眠条件中使用sum()
回答
想我找到了答案。您必须使用Projection.sqlProjection()而不是Projections.sum()。例如:
.setProjection(Projections.sqlProjection("sum(cast(amount as signed)* direction) as amntDir", new String[] {"amntDir"} , new Type[] {Hibernate.DOUBLE}));
可以你开发你的答案? - 你最初的查询是什么:createQuery(“....”) - 结果放在哪里? (进入amntDir?) - 你如何使用结果? – 2012-07-03 07:14:17
预测是使用集合函数和hibnerate标准的关键词。
roseindia has a short example用于执行SELECT SUM(...)
查询。看起来很接近你的问题。
Here's another forum topic,其中包括一个SUM(col1 * col2)
表达和原来的海报的工作示例有例外之前similiar问题。
我尝试使用“.setProjection(Projections.sum((”amount * direction“)))”但它给了我一个例外“org.hibernate.QueryException:无法解决财产:金额*方向....” – panagdu 2011-01-07 11:38:17
我认为你需要的是公式。类似这样的,
@Entity
@Table('TRANSACTIONS')
Class transactions {
@Column("AMOUNT")
private double amount;
@Column("DIRECTION")
private double direction;
@Formula("AMOUNT * DIRECTION")
private double multiplication;
}
并在您的投影列表中添加乘法列。
- 1. 如何在休眠条件中使用TO_CHAR方法条件
- 2. 休眠条件@Valid
- 3. 在休眠条件限制
- 4. 有条件saveOrUpdate在休眠
- 5. 休眠有条件的次
- 6. 休眠HQL或条件
- 7. 休眠条件api'选入'
- 8. 休眠 - 条件查询
- 9. 休眠条件查询
- 10. 休眠条件查询
- 11. 休眠条件搜索
- 12. 休眠条件查询
- 13. 休眠分离条件
- 14. 休眠条件不SQLite的
- 15. 休眠条件查询与条件
- 16. 休眠条件查询 - 嵌套条件
- 17. 如何在休眠条件中使用CURRENT_DATE函数?
- 18. 如何在休眠条件中使用date()
- 19. 如何在休眠条件中使用连接列?
- 20. 在休眠中使用JTable
- 21. 在休眠中使用LIKE%
- 22. 在休眠中使用longblob
- 23. 使用休眠条件创建连接条件
- 24. 休眠,如何用条件计数
- 25. 在休眠条件下IN操作
- 26. 条件/复合JoinColumn在JPA /休眠
- 27. 休眠 - 加入与条件在子句
- 28. 休眠条件:休眠左连接没有关联
- 29. 使用休眠条件计算where条款
- 30. 使用休眠获取重复条目
@Closevoter - 这**是一个真正的问题。 – 2011-01-07 11:26:55