[英]ManyToMany in JPA: how to insert record into join table
我在应用程序中有2个实体:组和用户,它们之间的ManyToMany连接。 创建用户后,它应加入多个现有组。
我看到了一些示例,这些示例显示了如何更新3个表(添加了2个实体,并在联接表中创建了新行)。 在我的情况下,Groups表不应该更新,我得到org.hibernate.exception.ConstraintViolationException,因为正在运行3个查询,其中一个正在尝试插入表中已经存在的Group。
谢谢
如下所示的联接表可能会解决您的问题;
@Entity
@Table(name = "Groups")
public class Group {
@ManyToMany
@JoinTable(name = "Group_Users", joinColumns = {
@JoinColumn(name = "group_id", referencedColumnName = "id") }, inverseJoinColumns = {
@JoinColumn(name = "user_id", referencedColumnName = "id") })
private List<User> users;
创建用户后,它应加入多个现有的组,例如:
组用户
Group_id | 用户身份
组_1 | 用户_1
组_2 | 用户_1
Group_3 | 用户_1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.