比方說,我有一個包含數量字段和價格字段的持久性類項目。 有沒有辦法建立一個計算數量*價格總和的標準?休眠標準中的表達式
6
A
回答
9
我想你也可以使用SQL投影。它應該是這樣的:
session.createCriteria(Item.class)
.createAlias("item", "i")
.setProjection(Projections.projectionList()
.add(Projections.groupProperty("i.id"))
.add(Projections.groupProperty("i.price"))
.add(Projections.groupProperty("i.quantity"))
.add(Projections.sqlProjection(
"price * quantity as total",
new String[] { "total" },
new Type[] { Hibernate.DOUBLE }
)
)
);
大利
1
這不完全是你要求的,但你可以使用「派生屬性」來獲得相似的東西。
例如,可以將totalPrice屬性映射到SQL表達式:
<property name="totalPrice" formula="quantity * price" type="big_decimal"/>
的SQL式「量*價格」被評估每實體被從數據庫中檢索的時間。
大利
Hibernate的docs包含有關此的詳細信息。
1
它可能(可能)不符合Criteria標準。但是HQL可以對此有所幫助。
SELECT ent.quantity*ent.price from EntityName as ent WHERE ent.id = ?
相關問題
- 1. 休眠標準
- 2. 休眠標準
- 3. 休眠標準
- 4. 休眠標準
- 5. 休眠標準
- 6. 標準休眠
- 7. 或標準 - 休眠
- 8. 在休眠中的正則表達式
- 9. 休眠4:LazyInitializationException中的EL表達式
- 10. 休眠標準左連接兩個表
- 11. SQL'case when'在休眠標準
- 12. 休眠標準ManyToMany選擇
- 13. 休眠標準2列
- 14. 遠程休眠標準
- 15. 休眠雙級標準
- 16. 休眠:收集標準
- 17. 休眠標準問題
- 18. 休眠標準 - 別名
- 19. 休眠標準結果
- 20. 休眠標準返回集
- 21. 休眠標準 - 從選擇
- 22. 休眠標準問題
- 23. 棘手休眠標準
- 24. 休眠標準order by
- 25. 休眠標準投影
- 26. 休眠標準assotiated對象
- 27. 休眠ORing兩個標準
- 28. 子查詢中休眠的標準API
- 29. 標準表達式
- 30. 休眠:無效ORDER BY表達式
能否請你分不清哪裏是創建總的功能?這隻會創建產品。 – Victor 2011-05-16 15:52:20