【问题标题】:Many to One or Many to Many mapping in ROLE-PERMISSION ScenarioROLE-PERMISSION 场景中的多对一或多对多映射
【发布时间】: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


    【解决方案1】:
    在您的情况下,最好选择多对多关系。所以您将拥有权限、角色表和垃圾表 Permission_Role 表。
    试试这个教程:
    
    
      [1]:http://www.mkyong.com/hibernate/hibernate-many-to-many-relationship-example/
    
    你是从数据库创建它吗?我可以建议简单的映射方法...... 

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      相关资源
      最近更新 更多