您的位置:首页 > 其它

jpa hibernate(1) 多对多,用户新增,只增加中间表对应角色关系,不增加角色role

2017-06-30 12:08 537 查看
用户user 角色role 中间表user_role,用户新增,只增加中间表对应角色关系,不增加角色role

只增加关联关系到中间表中,需要添加CascadeType.MERGE

User实体:
@ManyToMany(cascade = {CascadeType.MERGE})
@JsonIgnore
@JoinTable(name = "CMSUserRole",
joinColumns = { @JoinColumn(name = "userid", referencedColumnName = "userid") },
inverseJoinColumns = { @JoinColumn(name = "roleid", referencedColumnName = "roleid") })
private Collection<Role> roles;

Role实体:
@ManyToMany(mappedBy = "roles")
@Basic(fetch = FetchType.LAZY)
private Collection<User> users;

controller中:
@RequestMapping(value = "add",method= RequestMethod.POST)
@ResponseBody
public boolean register(User user){
Role role=new Role();
role.setId((long) 2);
Set<Role> roles=new HashSet<Role>();
roles.add(role);
user.setRoles(roles) ;
return userService.insert(user);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate