多對多關聯映射(雙向)可以在多對多的基礎上進行,先參考
多對多關聯映射(雙向)。
1、在Role的POJO類這邊也加入一個Set集合:
private Set users;
2、在Role.hbm.xml映射文件里面加入set:
<set name="users" table="t_user_role" >
<key column="roleid"/>
<many-to-many class="org.apple.hibernate.User" column="userid"/>
</set>
PS:其他保持不變。
3、加載查詢數據,可以從兩端加載,多對多關聯映射(單向)只對User這一端進行加載。現在可以從User和Role兩端進行加載。
1
Role role = (Role)session.load(Role.class, 1);
2
System.out.println("role.name="+role.getName());
3
for(Iterator it = role.getUsers().iterator();it.hasNext();)
4
{
5
User user = (User)it.next();
6
System.out.println("user.name="+user.getName());
7
}
PS:其實多對多也可以多增加一個UserRole的POJO類分解成兩個多對一,同時也要增加一個UserRole.hbm.xml文件。
-------------------------------------------------------------------------------------------------
PS:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必注明作者和文章的詳細出處地址,否則不允許轉載,多謝合作!
posted on 2008-10-12 23:01
apple0668 閱讀(493)
評論(0) 編輯 收藏 所屬分類:
hibernate