У меня есть отношение M: N между таблицей Users
и Groups
. Сейчас я пытаюсь объединить эти две таблицы с помощью JPA, и я всегда получаю это исключение:
Для поля [GROUPS.name] существует несколько доступных для записи отображений. Только один может быть определен как доступный для записи, все остальные должны быть указаны только для чтения.
Вот мой класс 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;
Я также пытался поместить аннотацию JoinTable
в класс Users
, но она закончилась тем же результатом. Заранее спасибо за любые советы.