多对多关联映射(双向)可以在多对多的基础上进行,先参考
多对多关联映射(双向)。
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两端进行加载。
1Role 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 阅读(485)
评论(0) 编辑 收藏 所属分类:
hibernate