在 Hibernate 教程中,第 25 章最佳实践建议我们使用两个一对多关系,而不是一个多对多关系和一个中间链接类。我看不出这样做的好处:为什么要创建一个三维实体,而多对多可以生成一个充当中间链接的联接表。但是,这个建议肯定有其合理性。
有人能解释一下这个建议的原因吗?谢谢。
有人能解释一下这个建议的原因吗?谢谢。
许多对于多对多关系的开发往往出现无法预料的问题 - 它们会产生一些额外的数据,这些数据与关系本身相关,而不是与关系中的任何一个参与方相关。例如,成员和团体可能以多对多的方式相互关联,您想知道成员何时加入团体、他们的成员身份(新成员、待定成员、已暂停等)等信息。
如果您直接将关系建模为多对多,并编写所有代码,则第一个出现在连接表中的额外列将破坏您的模型并且破坏大量代码。