2013-04-01 123 views
0

我有兩個表,即JPA - 連接兩個表

USER_ROLE {user_id, Role} PK {user_id, role} 
ROLE_PERMISSION {role, permission} PK {role, permission} 
  1. 用戶可以擁有多個角色。
  2. 角色可以被映射到多個 權限。

我有一個實體 - 用戶負責維護有關用戶的信息。此信息在首次登錄時通過LDAP(而非數據庫)獲取。現在,對於我的授權方面,我還需要從上述表中獲取用戶權限上的dtls。

所以我會想象添加屬性,以我現有的用戶實體

USER { 
    user_id, 
    first_name, 
    last_name, 
    etc 

    // Authorization 
    List<String> roles; 
    List<String> permissions; 
} 

有人能請幫助我如何使用JPA來填充角色和權限列表?看着互聯網,無法弄清楚。感謝

回答

1

我會在數據庫中創建一個用戶表並將其映射到與角色和權限的用戶對象。 User對象將包含額外的LDAP數據。

沒有用戶表,你有什麼可映射到。

否則只是用原生SQL查詢查詢數據庫和填充您的LDAP用戶對象自己。

+0

感謝詹姆斯。我爲USER_ROLE和ROLE_PERMISSION創建了兩個實體,然後使用JPA Query從DB檢索信息,然後編碼以填充用戶實體。不是非常優雅的解決方案,但現在就完成這項工作。 – Rohit