【发布时间】:2012-09-17 17:22:29
【问题描述】:
我是 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 的一个角色
所以我认为是一对多
我也认为它也属于多对多, 想到这张图,
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 的角色
所以我认为它是多对一的
我真的很困惑如何判断映射,有人可以解决我的疑问。 另外,我想知道在什么基础上需要决定映射的拇指规则。
谢谢。
【问题讨论】:
标签: hibernate orm many-to-many one-to-many hibernate-mapping