eclipselink multitenant:检索错误的user.roles

时间:2014-10-30 03:44:43

标签: jpa eclipselink multi-tenant

使用EclipseLink 2.5.1。

角色是单表多租户。每个租户都有自己的角色。 用户不是多租户,由所有租户共享。

用户/角色:ManyToMany映射。

用户拥有一系列角色:

    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "UserRole", 
             joinColumns = {@JoinColumn(name = "uId")},  
             inverseJoinColumns = {@JoinColumn(name = "rId")})
  public Set<Role> getRoles() {
    return roles;
  }

角色没有对用户的引用。

<entity class="Role" > 
    <multitenant>
        <tenant-discriminator-column name="tenantId" context-property="tenant.id"
            discriminator-type="INTEGER"/>      
    </multitenant>  
</entity>

用户不是多租户。

在一个租户中列出用户时,用户的角色应限制为该租户。 但JPA会在所有tetants中返回该用户的所有角色。

如何解决这个问题?感谢。

0 个答案:

没有答案