1

テクノロジーの説明: Hibernate アノテーション - 3.4.0.GA Java 1.5

: users_roles_branches : user_id、role_id、branch_id

ユーザーは、会社のさまざまな支部に対してさまざまな役割を割り当てられます。

今、私は1つのJava pojoクラスを持っています

     public class branch
     {
                @ManyToMany
             @JoinTable(name = "users_roles_branches", joinColumns = {   @JoinColumn(name="branch_id") }, inverseJoinColumns = { @JoinColumn(name = "role_id") })
             @MapKeyManyToMany(joinColumns = { @JoinColumn(name = "user_id", unique = false) })

                public Map<User, Role> getUserRoleMap() {
          return userRoleMap;
           }
     } 

基本的な要件は、ブランチ内のさまざまなユーザーに割り当てられたロールのリストを取得することです。

直面している問題: 1 人のユーザーに複数の役割を割り当てることができるため、マップはユーザーと役割のマッピング データに対しては機能しません。

1つの解決策は Map> かもしれませんが、ネストされたコレクションを休止状態で使用できるかどうかは疑問です。

私を助けてください!

質問が理解できない場合、または表現可能な形式でない場合は、お知らせください。

4

1 に答える 1

2

My suggestion would be to introduce a new concept in your domain-model RoleAssignment:

class RoleAssignment {
  private User user; 
  private Branch branch;
  private Role role;
}

Entities User, Branch and Role should have 1:N relationship with RoleAssignment. For eg:

class User { 
  private Set<RoleAssignment> roleAssignemnts;
}
于 2010-12-15T06:16:36.687 に答える