繁体   English   中英

JPA中的ManyToMany:如何将记录插入联接表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM