0

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

4

1 回答 1

1

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

托管实体之间的双向关系将基于关系拥有方持有的引用进行持久化。开发人员有责任保持拥有方的内存引用和相反方的内存引用在更改时彼此保持一致。

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

您还可以查看此答案以获取更多详细信息。

于 2013-10-21T19:06:54.540 回答