如何将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. 休眠条件groupProperty
- 4. 有条件saveOrUpdate在休眠
- 5. 在休眠条件限制
- 6. 休眠加入使用条件
- 7. 使用条件查询对象休眠
- 8. 休眠条件比较三个列SUM另一列
- 9. 在条件中实现sql'like'。休眠
- 10. 休眠条件查询
- 11. 休眠条件api'选入'
- 12. 休眠分离条件
- 13. 休眠条件的结果
- 14. 休眠有条件的次
- 15. 休眠条件搜索
- 16. 有条件加入休眠
- 17. 休眠条件查询
- 18. 休眠条件不SQLite的
- 19. 休眠条件查询
- 20. 休眠条件接受%%值
- 21. 休眠条件投影JList
- 22. 休眠条件查询
- 23. 休眠HQL或条件
- 24. 休眠 - 条件查询
- 25. 休眠条件查询多个条件
- 26. 休眠条件查询 - 嵌套条件
- 27. 休眠条件查询与条件
- 28. 如何在休眠条件中使用date()
- 29. 如何在休眠条件中使用CURRENT_DATE函数?
- 30. 如何在休眠条件中使用连接列?
@Closevoter - 这**是一个真正的问题。 – 2011-01-07 11:26:55