我不确定我可以使用哪一个单向/双向关联。建议 Hibernate 使用双向关联 Best Practies 。但有些人回答使用 uni directional assoications .
协会和收藏的最佳实践是什么?
最佳答案
没有绝对的最佳实践。当您想要或需要双向关联时,请使用双向关联;当您希望单向关联时,请使用单向关联。
某些关联不应是双向的。例如,如果地址可以是用户、消费者、供应商、联系人等的地址,则在地址中引用这些实体中的每一个(除一个之外均为空)并不是一个明智的选择。
除此之外,当两个实体紧密耦合时,我通常将关联设为双向,以简化查询的开发和编写(如 Hibernate 文档所述)。
我也同意您链接到的SO答案:当您有一对多或多对多关联时要小心。但是这个关联,如果它不是所有者一方,也可以对实体保持完全私有(private)(因此永远不会被加载),只是为了帮助编写查询,但禁止初始化非常大的集合。
为了让 JPA 不出现任何问题,您“只”需要理解并思考幕后发生的事情。开发时,打开 SQL 日志记录并查看正在执行的查询。
关于hibernate - 在 jpa/hibernate 中使用 uni/bi 关联的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16691842/