详述多对多关系映射

        上面两篇文章说了一对一关联映射和一对多关联映射,下面该说最后一种关联映射,多对多关联映射,以User-Role为例:
             
        
          1 User --Role (多对多,单向关联,关系维护在关系表t_user_role端)
           iRole
                                <hibernate-mapping>
    <class name="com.tgb.hibernate.Role" table="t_role">
        <id name="id">
            <generator class="native" />
        </id>
        <property name="name" />
    </class>
</hibernate-mapping>

iiUser

         <hibernate-mapping>

    <class name="com.tgb.hibernate.User" table="t_user">
        <id name="id">
            <generator class="native" />
        </id>
        <property name="name" />
        <set name="roles" table="t_user_role">
            <key column="user_id" />
            <many-to-many class="com.tgb.hibernate.Role" column="role_id" />
        </set>
    </class>
  </hibernate-mapping>

2User--Role(多对多,双向关联),其余关系不变

               i Role
                     <hibernate-mapping>
    <class name="com.tgb.hibernate.Role" table="t_role">
        <id name="id">
            <generator class="native" />
        </id>
        <property name="name" />
        
        <set name="users" table="t_user_role">
            <key column="role_id" />
            <many-to-many class="com.tgb.hibernate.User" column="user_id" />
        </set>
    </class>
  </ hibernate-mapping >

        总结:通过以上的总结,关系的维护其实就是在某一端或两端加上关联,当进行查找的时候,通过关联关系可以找到相对应的数据。其实和我们平时理解的实体对象模型的设计是一样的。一对一关系,关系随便放到谋一端就可;一对多则放到多的一端,多对多则就单独出来,形成一张关系表进行维护。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值