一对多 :一个人有很多技能,一个技能不会在一个人之间重复使用
- 单向性 :一个人可以通过其设置直接参考技能
- 双向的 :每个“子级”技能都有一个指向人员的指针(代码中未显示)
多对多 :一个人有很多技能,一种技能在人与人之间重复使用
- 单向性 :一个人可以通过其设置直接参考技能
- 双向 :一项技能具有一组与此相关的人。
在一对多关系中,一个对象是“父”对象,一个对象是“子”对象。父母控制孩子的存在。在多对多中,这两种类型的存在都依赖于两者之外的某种东西(在较大的应用程序上下文中)。
您的主题(领域)应决定该关系是一对多还是多对多-但是,我发现使关系成为单向或双向是一种权衡内存,处理,性能的工程决策。等
令人困惑的是,多对多双向关系不必是对称的!也就是说,一堆人可以指向一项技能,但该技能不必仅与那些人相关。通常会,但是这种对称性不是必需的。以爱为例-
它是双向的(“我爱”,“爱我”),但常常是不对称的(“我爱她,但她不爱我”)!
所有这些都得到了Hibernate和JPA的良好支持。只要记住,在管理双向多对多关系时,Hibernate或任何其他ORM都没有维护对称性……这完全取决于应用程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)