一对多,多对一和多对多的区别?

一对多,多对一和多对多的区别?,第1张

一对多,多对一和多对多的区别?

一对多 :一个人有很多技能,一个技能不会在一个人之间重复使用

  • 单向性 :一个人可以通过其设置直接参考技能
  • 双向的 :每个“子级”技能都有一个指向人员的指针(代码中未显示)

多对多 :一个人有很多技能,一种技能在人与人之间重复使用

  • 单向性 :一个人可以通过其设置直接参考技能
  • 双向 :一项技能具有一组与此相关的人。

在一对多关系中,一个对象是“父”对象,一个对象是“子”对象。父母控制孩子的存在。在多对多中,这两种类型的存在都依赖于两者之外的某种东西(在较大的应用程序上下文中)。

您的主题(领域)应决定该关系是一对多还是多对多-但是,我发现使关系成为单向或双向是一种权衡内存,处理,性能的工程决策。等

令人困惑的是,多对多双向关系不必是对称的!也就是说,一堆人可以指向一项技能,但该技能不必仅与那些人相关。通常会,但是这种对称性不是必需的。以爱为例-
它是双向的(“我爱”,“爱我”),但常常是不对称的(“我爱她,但她不爱我”)!

所有这些都得到了Hibernate和JPA的良好支持。只要记住,在管理双向多对多关系时,Hibernate或任何其他ORM都没有维护对称性……这完全取决于应用程序。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5085610.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存