实体类的配置参见同类型的博客
下面直接测试
分析一下表关系
用户表和角色表 和用户关系角色表
需求:
要给用户赋予多个角色
测试
@Test
@Transactional
@Rollback(value = false)
public void saveUserRole() {
//用户的角色列表集合
Set<SysRole> rolelist=new HashSet<>();
SysRole role1 = roleDao.findOne(4L);
SysUser u1 = new SysUser();
u1.setUserName("用户1");
//用户角色列表中添加角色
rolelist.add(role1);
//设置用户和角色的关系
u1.setRoles(rolelist);
//保存用户
userDao.save(u1);
}
这样写就会保存用户的同时给中间表添加一条例记录
@Test
@Transactional
@Rollback(value = false)
public void saveUserRole2() {
Set<SysRole> rolelist=new HashSet<>();
SysUser u1 = new SysUser();
u1.setUserName("用户2");
//查询所以的角色
List<SysRole> roles = roleDao.findAll();
for (SysRole sysRole : roles) {
rolelist.add(sysRole);
}
//给用户设置角色
u1.setRoles(rolelist);
//保存用户并且保存用户的所以角色
userDao.save(u1);
}
这样就保存了一个用户同时也在关系表中添加了两条记录