在我的代码中,我有一个与ManyToMany关系相关的Employee
和Task
个实体。在创建新的Employee
对象时,我可以使用empToBePersisted.getTasks().add(existingTask)
将其分配给现有任务。但是,当我坚持它时,关系在数据库中保持不变,但只能从Employee
侧看到。重新启动应用后,Task
会看到它。如何在坚持后立即使其可见?
答案 0 :(得分:1)
描述的行为是正常的。在处理双向关联时,您需要处理双方。
托管实体之间的双向关系将保持不变 基于关系所属方的参考。它是 开发人员有责任保留内存中的引用 在拥有方和那些与反方保持一致的方面 彼此改变时彼此。
在这种情况下,您需要手动调用existingTask.setEmployee(empToBePersisted)。
您还可以查看this answer了解详情。