我在用户和角色实体之间存在多对多关系。当我尝试通过添加新的用户对象来合并角色时,合并后我希望插入连接表(在sql server数据库中)中的新行但没有任何反应。
我猜问题是所有者现在是用户实体的关系的方向,应该切换到角色。但如果我改变它,那么我的春季保安就不会起作用。有没有其他方法可以解决这个问题?除了改变多对多方面? 提前致谢。
用户类
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(
name = "SEC_USER_ROLE",
joinColumns = {
@JoinColumn(name = "SEC_USER_ID", referencedColumnName = "SEC_USERS")},
inverseJoinColumns = {
@JoinColumn(name = "SEC_ROLE_ID", referencedColumnName = "SEC_ROLES")})
private List<Role> roles;
-
角色等级
@ManyToMany(mappedBy = "roles", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<User> users;
这是我的合并功能
@Override
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public T merge(T o) {
o = em.merge(o);
em.flush();
return o;
}