我有下表,目前我可以更新User对象以添加或删除角色,但是在创建新用户时我不能添加角色(用户的角色添加在同一个用户上) UI上的表单)因为中间表User_Role期望用户Obj获取他的ID,所以插入时自然会得到User.User_ID =?。
有什么常用方法可以解决这个问题吗?我正在考虑尝试在Save之后获取插入用户的ID,然后调用我的更新功能。我不想这样做,因为我担心性能问题,特别是将来批量上传可能会发生。
我在我的userRepository上使用CrudRepository。
if(userRequest.getUser().getIdUser() <= -1){
newUser.setIdUser(0);
newUser.setIsActiveUs(true);
newUser.setDateOfJoin(getCurrentDate());
nuser = usersRepository.save(newUser);
//Get created user and send it to update() with the roleList?
}
答案 0 :(得分:0)
UserRole中是否有任何数据具有任何值或者只是外部参照?我可能只是完全摆脱UserRole,创建一对多或一对一的用户映射 - &gt;角色,并创建一个共享的auto_increment id。这样,您可以将数据级联到插入到用户的角色 - 所有这些都在一个事务中。