关闭。这个问题是opinion-based .它目前不接受答案。
想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.
3年前关闭。
Improve this question
我想知道处理这样的数据模型的最佳做法是什么:
我们有 3 个实体:
请注意,实体表示为 java 类,并将通过休眠映射到数据库,无论如何我认为可以在不了解这些技术的情况下回答这个问题。
Role
之间存在多对多关系& User
在 Role
之间& Permission
.这里可以建立双向关系吗? 所以,你可以问
Role
给你他所有的成员并问User
给你他所有的角色。您可以询问两个实体非常方便,但是一个缺点是,每当您删除关系时,您都必须管理两个实体。
例如。如果您删除
Role
来自 User
您还必须删除 User
来自 Role
.如果有很多这样的关系,这可能会很烦人。因此,我想最好的做法是什么。
最佳答案
我尽量避免双向关系。而是用 DAO/Repository 中的显式查询替换一个方向。使模型更简单,如果通过接口(interface)正确完成,应用程序将清除循环依赖
关于language-agnostic - 最佳实践 : Should one avoid bi-directional relationships?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8589764/