問題:Hibernate的<many-to-many>雙向關聯中,一方加載另一方時,怎么樣達到按自定義規則排序的目的呢?
實例:角色和菜單是多對多的關系,為角色分配菜單后,加載菜單時,我需要按照菜單的ID來排序顯示。
解決辦法:
1. 通過在hbm配置文件中配置解決,需要自定義比較器。
? 1) 在多對多的主控端指定sort屬性
? 這里的主控端為role,受控端為menu。
? role的配置為:
?
<set?name="roleMenus"?table="ROLE_MENU"?inverse="false"?lazy="false"?sort="menu.MenuComparator">
???<key?column="RM_ROLE_ROLE_ID"?/>
???<many-to-many?column="RM_MENU_MENU_ID"?class="domain.MenuInfoVO"?/>?
??</set>
menu的配置為:
<set?name="roleMenus"?table="ROLE_MENU">
???<key?column="RM_MENU_MENU_ID"?/>
???<many-to-many?column="RM_ROLE_ROLE_ID"?class="domain.RoleInfoVO"?/>?
??</set>
2) 自定義MenuComparator
posted on 2007-01-18 16:25
小立飛刀 閱讀(3710)
評論(6) 編輯 收藏 所屬分類:
Hibernate