如何將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