当前位置:编程学习 > JAVA >>

jpa单向多对多关联,无法插入中间表数据

如题,我现有两个实体,用户和角色。多对多关系。只有单方向根据用户查询角色需求,当我插入用户的时候,中间表中数据没有插入,很是郁闷,贴出代码
用户实体
public class SysUser(){
    @ManyToMany(cascade = {CascadeType.PERSIST,CascadeType.REFRESH,CascadeType.MERGE}, fetch = FetchType.EAGER)
    @JoinTable(name = "sys_user_role", joinColumns = @JoinColumn(name = "n_userId"), inverseJoinColumns =    @JoinColumn(name = "n_roleId"))
    public List<SysRole> getRoles() {
return roles;
    }
}
角色实体中没有配置多对多关系。
下面是插入数据操作
SysRole role  = //从数据库中查询出角色对象
user.getRoles().add(role);//设置角色集合属性
session.save(user);

执行save方法后数据直插入到user表中,中间表中没有数据 --------------------编程问答-------------------- --------------------编程问答-------------------- 你可以将JoinTable中的joinColumns和inverseJoinColumns两个属性去掉试一下,JPA会自动去关联。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,