gpt4 book ai didi

java - 保存后插入多对多表

转载 作者:行者123 更新时间:2023-11-30 22:23:54 25 4
gpt4 key购买 nike

我有下表,目前我可以更新用户对象以添加或删除角色,但我无法在创建新用户时向其添加角色(用户的角色是在 UI 上的同一表单上添加的) 因为中间表 User_Role 需要一个 User Obj 作为他的 ID,所以自然地在插入时我得到一个 User.User_ID = ?。

有什么通用的方法可以解决这个问题吗?我正在考虑在保存之后尝试获取插入用户的 ID,然后调用我的更新函数。我不想这样做,因为我担心性能,特别是在将来可能发生批量上传时。

我在我的 userRepository 上使用 CrudRepository。

enter image description here

    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?
}

最佳答案

UserRole 中是否有任何具有任何值的数据,或者它只是一个外部参照?我可能会完全摆脱 UserRole,从用户 --> 角色创建一对多或一对一的映射,并创建一个共享的 auto_increment id。这样您就可以将数据级联到插入用户时的角色 - 所有这些都在一个事务中完成。

关于java - 保存后插入多对多表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35883650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com