我有一個帶有Bar列表的對象Foo。有沒有一種方法可以設置我的類,以便getBars()將返回已使用Collections.sort排序的List?換句話說,我想在列表首次填充時運行Collections.sort。目前,當我檢索收藏時,我會打電話排序,這可能是多餘的,很容易被人遺忘。當從數據庫檢索時對hibernate集合進行排序
8
A
回答
24
7
我認爲,如果你@Sort
註釋屬性它就會自動排序
你還要指定自定義Comparator
類的選項:
@Sort(comparator=MyComparator.class, type=SortType.COMPARATOR)
參考:
3
退房休眠文件的排序集合
http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/collections.html#collections-sorted。
你也可以在你的DAO中使用另一種方法來使用hql來獲取孩子,你可以通過hql進行排序。
如果排序過程不是基於單個列,我認爲你別無選擇,只能自己去做。您可以將邏輯添加到您的域模型中...
0
從數據庫中選擇時對列表排序會更好(讓db排序)選擇,而不是在選擇後對其進行排序。
3
如果使用XML配置,你可以設置order-by
屬性: -
<class name="Foo" table="Foo">
...
<set name="bars" inverse="true" order-by="barName">
<key column="fooId" />
<one-to-many class="Bar" />
</set>
</class>
這樣,當你調用foo.getBars()
,您將獲得由酒吧名稱排序Bar
的對象,在這個例子中。
相關問題
- 1. Laravel如何根據數組索引對集合進行排序
- 2. 當對一個排序列表進行排序時,輸出集合不排序
- 3. Hibernate如何使用@OrderColumn註解對集合進行排序?
- 4. 如何根據子集合屬性對集合進行排序
- 5. 根據另一個集合對集合進行排序
- 6. Powershell:對數據集進行排序
- 7. 如何對AngularFire集合進行排序?
- 8. 是否對Backbone.js集合進行排序?
- 9. 對名稱值集合進行排序
- 10. Java-8對集合進行排序
- 11. 使用合併對數組進行排序索引排序
- 12. 從數據庫檢索數據時進行轉換或轉換?
- 13. 當「無數據」存在時,對行進行不同的排序
- 14. App Engine Python - 對數據庫進行排序,然後put()索引
- 15. 休眠從數據庫中檢索排序後的對象
- 16. 如何按時間順序對Firebase數據庫進行排序?
- 17. 根據Android中的時間對數據庫列進行排序?
- 18. 檢索集合對象數據Laravel
- 19. 如何對集合MongoDB中的對象數組進行排序?
- 20. Hibernate Criteria API - 如何按集合大小進行排序?
- 21. 如何使用數組順序對此集合進行排序?
- 22. 創建索引時是否自動對數據進行排序
- 23. 根據當前時間對php數組進行排序
- 24. 當對象從集合中刪除時,Hibernate更新一對多集合
- 25. 對從數據庫檢索到的計算數據進行列表視圖排序
- 26. 從RavenDB檢索整個數據集合
- 27. 無法從集合中檢索數據
- 28. 從流星集合中檢索數據
- 29. 羣集對物理和非聚集索引的數據進行排序嗎?
- 30. 根據變量對流星集合進行排序?
只需要注意`@ Sort`註解已被廢棄,更新後的示例將如下所示:`@SortComparator(MyComparator.class)`。 – 2015-03-11 22:47:48
@JasonSperske你爲什麼不添加一個答案呢? – 2015-03-12 08:04:33