父表更新后删除子表

时间:2018-11-05 07:51:50

标签: java spring jpa

我使用JPA存储库从表User中更新数据,然后在成功更新后,子父User_Role将删除。

日志和数据库

enter image description here enter image description here

映射实体

@ManyToMany(fetch = FetchType.LAZY , cascade= {CascadeType.ALL} )
@JoinTable(name = "user_role", joinColumns = @JoinColumn(name =    "user_id"),inverseJoinColumns = @JoinColumn(name = "role_id"))
private Set<Role> roleList = new HashSet<>();

“创建用户”和“删除用户”工作正常。应解决什么问题?

1 个答案:

答案 0 :(得分:0)

在服务层中,您需要 userId 从表 User_Role 删除所有映射。然后再次向该表插入新的映射。但是删除和插入都在同一笔交易中。