当前位置: 首页 > 知识库问答 >
问题:

保存后插入多对多表

彭阳朔
2023-03-14

我有下表,目前我可以更新用户对象来添加或删除角色,但我不能在创建新用户时向其添加角色(用户的角色添加到UI上的同一表单上),因为中间表User_Role希望用户的ID为Obj,所以在插入时,我自然得到一个User.user_id=?。

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

我在我的用户存储库上使用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?
}

共有1个答案

凤柏
2023-03-14

UserRole中是否有任何有价值的数据,或者它只是一个XREF?我可能会完全去掉UserRole,从user-->role创建一个一到多或一到一的映射,并创建一个共享的auto_increment ID。这样,您只需将数据级联到角色、插入到用户--所有这些都在一个事务中完成。

 类似资料:
  • 问题内容: 我们已经为此苦苦挣扎了几天,并在网络上进行了大量搜索。 我们试图弄清楚条目如何以Django形式保存到许多字段。 例如,我们有一个新闻模型,该模型与图像具有多对多的关系。当我们将图像添加到新闻文章中时,例如ID为10、2、14的图像,我们可以看到保存新闻文章表单时的帖子值如下: photos 10 photos 2 photos 14 当我们查看多对多交叉表时,顺序没有保留。我们看不到

  • 如何用额外的列保存多对多映射对象?专列为“审批”。对于多对多注释,我只调用了setUsersDocuments(users),它工作正常...我怎样才能使它工作与额外的列? 文件 用户类 主键 多对多表 正在保存单据 编辑:unsuccessfull保存对象-Document.GetDocumentsForUsers().Add(userDocuments)null. 编辑:错误 null

  • 问题内容: 我试图在 Flask-SQLAlchemy中 建立多对多关系,但似乎我不知道如何填写 “多对多标识符数据库” 。您能帮我了解我在做什么错以及应该怎么看吗? 然后是我的标识符数据库: 到目前为止,当我尝试将数据插入数据库时​​,看起来像这样。 现在我的问题是,由于我真的无法创建“ student_identifier”对象,如何将其添加到多对多数据库?如果可以的话,它可能看起来像这样:

  • 我在Parent中提供了一个简单的oneToMany关系,并在Chile Entity类中提供了相应的ManyToOne: 起源: } 儿童班级: 操作类: 示例案例:Status_code Reason_text abc abc1 xyz xyz1 保存表单:Status_code Reason_text abc abc1 xyz xyz1 abc abc1 xy z xyz2 对于任何操作:N

  • 我定义了2个具有单向一对多关系的实体: 在command.class中: 在StockDetails.class中: null

  • 在我的Spring Boot应用程序中,我想将用户角色多对多关系保存在数据库中相应的映射表中,但hibernate给了我一条错误消息。 我的User.java班: 我的Role.java课: 我的跑步方法: Hibernate向我提供了一条错误消息: 无法添加或更新子行:外键约束失败(。, CONSTRAINTFOREIGN KEY()REFERENCES()ON DELETE CASCADE O