JPA-连接两个表

JPA-连接两个表,jpa,jpa-2.0,Jpa,Jpa 2.0,我有两张桌子,分别是 USER_ROLE {user_id, Role} PK {user_id, role} ROLE_PERMISSION {role, permission} PK {role, permission} 一个用户可以有多个角色 一个角色可以映射到多个角色 权限 我有一个实体用户,负责维护有关该用户的信息。此信息在第一次登录时通过LDAP(而不是DB)获取。现在,对于我的授权方面,我还需要从上面提到的表中获取关于用户权限的DTL 因此,我可以想象将属性添加到现有的用户实

我有两张桌子,分别是

USER_ROLE  {user_id, Role} PK {user_id, role}
ROLE_PERMISSION  {role, permission} PK {role, permission}
  • 一个用户可以有多个角色
  • 一个角色可以映射到多个角色 权限
  • 我有一个实体用户,负责维护有关该用户的信息。此信息在第一次登录时通过LDAP(而不是DB)获取。现在,对于我的授权方面,我还需要从上面提到的表中获取关于用户权限的DTL

    因此,我可以想象将属性添加到现有的用户实体中

    USER {
       user_id, 
       first_name, 
       last_name,
       etc
    
       // Authorization
       List<String> roles;
       List<String> permissions;
    }
    
    用户{
    用户id,
    名字,
    姓,
    等
    //授权书
    列出角色;
    列出权限;
    }
    

    有人可以帮助我如何使用JPA填充角色和权限列表吗?在网上看了看,想不出来。谢谢

    我将在您的数据库中创建一个用户表,并将其映射到具有角色和权限的用户对象。然后,用户对象将包含额外的LDAP数据

    如果没有用户表,则没有任何可映射的对象


    否则,只需使用本机SQL查询查询数据库,然后自己填充LDAP用户对象。

    谢谢。我为USER_ROLE和ROLE_PERMISSION创建了两个实体,然后使用JPA查询从DB检索信息,然后编码以填充用户实体。不是很优雅的解决方案,但现在可以工作了。