ManyToMany-mapping in JPA

Ik heb een M: N-relatie tussen tabel Gebruikers en Groepen . Nu probeer ik met behulp van JPA aan die twee tabellen deel te nemen en krijg ik altijd de volgende uitzondering:

Er bestaan ​​meerdere schrijfbare toewijzingen voor het veld [GROUPS.name]. Er kan er slechts één als beschrijfbaar worden gedefinieerd, alle andere moeten als alleen-lezen worden gespecificeerd.

Hier is mijn Users class (ik heb getters en setters niet voor kortheid ingesloten), het is geïmplementeerd door Admin class en SignedUser klasse met wat extra eigenschappen.

@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;

en dit is de categorie Groep :

@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;

Ik heb ook geprobeerd de annotatie JoinTable toe te voegen aan de Users -klasse, maar deze eindigde met hetzelfde resultaat. Bij voorbaat dank voor alle adviezen.

1

1 antwoord

In de klasse Groep heeft u twee toewijzingen voor kolom naam als eigenschappen groupName en descr .

De fout is niet gerelateerd aan de ManyToMany.

3
toegevoegd
Heel erg bedankt, ik weet echt niet hoe ik dit gisteravond kon overzien ...
toegevoegd de auteur Petr Mensik, de bron