-
背景:jpa多对多,然后保存此实体报错,如标题。看日志,执行了insert users,然后执行insert sh_users_roles,没有insert roles的语句,根据报错,查找,原因为CascadeType.PERSIST级联操作关系设置问题。需要改为CascadeType.ALL。具体可查找关于此属性的详细。
@ManyToMany(cascade = {CascadeType.PERSIST},fetch = FetchType.EAGER)
@JoinTable(name = “sh_users_roles”,
joinColumns={@JoinColumn(name = “users_id”)},
inverseJoinColumns={@JoinColumn(name = “roles_id”)})
private List roles;
上面是配置,
@ManyToMany save the transient instance before flushing
最新推荐文章于 2022-07-13 15:42:45 发布