首页 > 代码库 > Hibernate学习之路(五)

Hibernate学习之路(五)

简述 多对多关系映射

多对多关系映射需要一张中间表来维护关系

                         技术分享

  

  一:Role类与Function类

1 public class Function {
2     private int id;
3     private String name;
4     private String code;
5     private String url;
6     private Set<Role> roles = new HashSet<Role>();
7     
8     set/get....
9 }
1 public class Role {
2     private int id;
3     private String name;
4     private Set<Function> functions = new HashSet<Function>();
5     
6         set/get.....
7 }

  二:配置hbm.xml

<hibernate-mapping package="cn.pojo">
    <class name="Role">
        <id name="id">
            <generator class="native"></generator>
        </id>
        
        <property name="name"></property>
        
        <!-- 多对多 -->
        <set name="functions" table="rol_func">
            <!-- 表示当前类映射到关系表中的列 -->
            <key column="rid"></key>
            <!-- 表示所对应的另一方在关系表中的列 -->
            <many-to-many column="fid" class="Function"></many-to-many>
        </set>
    </class>
</hibernate-mapping>

 

双向多对多映射同理配置hbm.xml

  

 

Hibernate学习之路(五)