gpt4 book ai didi

java - 具有ManyToMany关系的级联删除

转载 作者:行者123 更新时间:2023-12-01 06:09:43 24 4
gpt4 key购买 nike

我有以下实体。我希望能够删除用户,并且 UserGroupMap 中包含该用户的任何条目也应该被删除。但是,每次我尝试删除在 UserGroupMap 中也有条目的用户时,都会收到以下错误。无法删除或更新父行:外键约束失败如何实现此行为? p>

@Entity
public class User {

@Id
private Long id;

@Column
private String name;

@ManyToMany(mappedBy = "users", cascade = CascadeType.All)
private Set<Group> groups;

}


@Entity
public class Group {

@Id
private Long id;

@Column
private String type;

@ManyToMany
@JoinTable(name = "UserGroupMap",
joinColumns = @JoinColumn(name = "groupId", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "userId", referencedColumnName = "id") )
private Set<User> users;

}

最佳答案

您应该将 (cascade=CascadeType.REMOVE) 添加到您的多对多关系

喜欢这个例子

@ManyToMany(cascade=CascadeType.REMOVE)

关于java - 具有ManyToMany关系的级联删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37149097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com