从反面看不到具有ManyToMany关系的持久对象

时间:2013-10-21 18:20:43

标签: java

在我的代码中,我有一个与ManyToMany关系相关的EmployeeTask个实体。在创建新的Employee对象时,我可以使用empToBePersisted.getTasks().add(existingTask)将其分配给现有任务。但是,当我坚持它时,关系在数据库中保持不变,但只能从Employee侧看到。重新启动应用后,Task会看到它。如何在坚持后立即使其可见?

1 个答案:

答案 0 :(得分:1)

描述的行为是正常的。在处理双向关联时,您需要处理双方。

  

托管实体之间的双向关系将保持不变   基于关系所属方的参考。它是   开发人员有责任保留内存中的引用   在拥有方和那些与反方保持一致的方面   彼此改变时彼此。

在这种情况下,您需要手动调用existingTask.setEmployee(empToBePersisted)。

您还可以查看this answer了解详情。