[英]ManyToMany mapping in JPA
I have a M:N relationship between table Users
and Groups
. 表
Users
和Groups
之间有M:N关系。 Now I am trying to join those two tables using JPA and I always get this exception: 现在,我尝试使用JPA将这两个表连接起来,并且总是会遇到此异常:
Multiple writable mappings exist for the field [GROUPS.name].
[GROUPS.name]字段存在多个可写映射。 Only one may be defined as writable, all others must be specified read-only.
只有一个可以定义为可写,所有其他必须以只读方式指定。
Here is my Users
class (I didn't enclose getters and setters for brevity), it's implemented by Admin
class and SignedUser
class with some additional properties. 这是我的
Users
类(为简便起见,我没有包含getter和setter),它是由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;
and this is the Group
class: 这是
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;
I've also tried to put JoinTable
annotation into Users
class but it ended with the same result. 我还尝试过将
JoinTable
批注放入Users
类,但结果相同。 Thanks in advance for any advices. 提前感谢任何建议。
In the class Group
you have two mappings for column name
as properties groupName and descr . 在类
Group
您有两个列name
映射作为属性groupName和descr 。
The error is not related to the ManyToMany. 该错误与ManyToMany无关。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.