多对多关联映射原理

     在生活中也常常需要多对多的关系,例如多个学生对应多门课程,或者多个用户对应多个角色,那他们之间的关系如何维护呢? 这时候就需要第三方来维护两者之间的关系。例如:

     简单的说点就是多对多的关系需要一张关系表来维护。通过一张关系表分别建立与另外两张表的一对多的关系就OK了。例如用户和角色之间,通过用户角色关系表分别建立了与用户表、角色表之间的关系。如此看多对多的关系其实就是演化了的一对多或者多对一的关系。

     下面就上面这这种情形进行了实战,首先分别建立两个实体类,分别是用户类User、角色类Role(这里头需要注意的是,使用Set集合建立users和roles的属性)。然后紧接着就是将这这两个类通过用户角色分别建立与用户和角色建立联系,这时候就需要用到many-to-many的标签。下面是相关代码的展示:

     这样便建立了用户和角色之间的多对多的关系,虽然在Java代码中只建立了两个类,一个User,一个Role,但是打开数据库你会发现,生成了三张表分别是tb_user,tb_role,tb_user_role,其中tb_user_role就是通过Set集合中many-to-many建立了user和role之间的关系表。


     小结:最近我一直在想,自己究竟会什么,茫然之中好像什么都不会,可是再一茫然,又发现自己好像什么都知道那么一丁点儿。Hibernate的核心也就是一对多,多对一,或者多对多之间的关系,这篇文章仅仅是我刚学习这块知识的初步尝试,若是有什么不当之处,欢迎斧正。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值