2011-12-07 17 views
1

テーブルUsersGroupsの間にM:Nの関係があります。今私はJPAを使用してこれら2つのテーブルを結合しようとしていますが、いつもこの例外が発生します。JPAのManyToManyマッピング

[GROUPS.name]フィールドに複数の書き込み可能なマッピングが存在します。書き込み可能と定義できるのは1つだけです。他はすべて読み取り専用に指定する必要があります。ここで

は(私は簡潔にするためゲッターとセッターを囲みませんでした)私のUsersクラスであり、それがAdminクラスといくつかの追加のプロパティを持つSignedUserクラスによって実装されています。

@Entity 
@Inheritance(strategy = InheritanceType.JOINED) 
public class Users implements Serializable { 

    @Id 
    @Column(name = "login", nullable = false, length = 10) 
    private String login; 

    @Column(name = "name", nullable = false, length = 30) 
    private String name; 

    @Column(name = "surname", nullable = false, length = 50) 
    private String surname; 

    @Column(name = "email", nullable = false, length = 100) 
    private String email; 

    @Column(name = "password", nullable = false, length = 20) 
    private String password; 

    @ManyToMany(mappedBy="users") 
    private List<Groups> groups; 

、これはGroupクラスです:

@Entity 
public class Groups implements Serializable { 

    @Id 
    @Column(name = "name", nullable = false, length = 20) 
    private String groupName; 

    @Column(name = "name", nullable = false, length = 50) 
    private String descr; 

    @ManyToMany 
    @JoinTable(name = "user_group", 
       joinColumns = {@JoinColumn(name = "groupName")}, 
       inverseJoinColumns = {@JoinColumn(name = "login")}) 
    private List<Users> users; 

私もUsersクラスにJoinTable注釈を入れてみましたが、それは同じ結果に終わりました。事前にアドバイスをお寄せいただきありがとうございます。クラスで

答えて

3

あなたがプロパティグループ名DESCRとして列nameのための2つのマッピングを持っていGroup

エラーはManyToManyとは関係ありません。

+0

ありがとう、私は実際にこの最後の夜をどのように見落とすことができたのかわかりません... –

関連する問題