我是 Hibernate 的新手,只是通过几个示例
在经历了几个样本之后,我仍然对确定表之间的关系感到困惑。
考虑场景,我有角色和权限分配给它
Role Permission
------------------------------------------------------
ROLE_ADMIN = Create, Update, Delete, View
ROLE_MANAGER = Update, View
ROLE_VIEWER = View
在这种情况下,我创建了这样的表,
Role
-----
role_id(PK) role_name
Permission
-----------
permission_id(PK) permission_name
Role_Permission
-----------------
role_permission_id role_id(FK) permission_id(FK)
现在,在这种情况下,1个角色可以有很多权限,很多权限可以属于一个角色,所以我认为考虑到这个数字是一对多的关系,
Role_Permission
-----------------
role_permission_id role_id(FK) permission_id(FK)
----------------------------------------------------------
1--------------------1---------------1
2--------------------1---------------2
3--------------------1---------------3
4--------------------2---------------1
5--------------------2---------------3
具有 Id 1 的角色映射到具有 Id 为 1、2、3 的许多权限。并且像 1、2、3 这样的许多权限属于具有 id 为 1 的一个角色
所以我认为这是一对多
我也认为它也属于Many-To-Many,考虑到我脑海中的这张图片,
role_permission_id role_id(FK) permission_id(FK)
----------------------------------------------------------
1--------------------1---------------1
2--------------------1---------------2
3--------------------1---------------3
4--------------------2---------------1
5--------------------2---------------3
具有 Id 1、2 的角色映射到许多具有 Id 为 1、2、3 的权限。许多权限如 1、2、3 属于许多具有 id 为 1 和 2 的角色
所以我认为这是多对多
我也认为它属于多对一,
role_permission_id role_id(FK) permission_id(FK)
----------------------------------------------------------
1--------------------1---------------1
2--------------------1---------------2
3--------------------1---------------3
4--------------------2---------------1
5--------------------2---------------3
ID 为 1、2 的角色映射到 ID 为 1 的权限。 ID 为 1 的权限属于多个 ID 为 1 和 2 的角色
所以我认为它是多对一的
我真的很困惑如何判断映射,有人可以解决我的疑问。另外,我想知道拇指规则在什么基础上需要决定映射。
谢谢。