多對多關(guān)聯(lián)映射(雙向)可以在多對多的基礎(chǔ)上進(jìn)行,先參考
多對多關(guān)聯(lián)映射(雙向)。
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、加載查詢數(shù)據(jù),可以從兩端加載,多對多關(guān)聯(lián)映射(單向)只對User這一端進(jìn)行加載。現(xiàn)在可以從User和Role兩端進(jìn)行加載。
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:本博客文章,如果沒有注明是有“轉(zhuǎn)”字樣,屬于本人原創(chuàng)。如果需要轉(zhuǎn)載,務(wù)必注明作者和文章的詳細(xì)出處地址,否則不允許轉(zhuǎn)載,多謝合作!
posted on 2008-10-12 23:01
apple0668 閱讀(492)
評論(0) 編輯 收藏 所屬分類:
hibernate