在我的代码中,我有一个Employee
与Task
多对多关系相关的实体。创建新Employee
对象时,我可以将他分配给现有的任务empToBePersisted.getTasks().add(existingTask)
。但是,当我坚持它时,关系会保留在数据库中,但只能从Employee
侧面看到。重新启动应用程序后会Task
看到它。坚持后如何使其立即可见?
问问题
42 次
1 回答
1
所描述的行为是正常的。使用双向关联时,您需要处理双方。
托管实体之间的双向关系将基于关系拥有方持有的引用进行持久化。开发人员有责任保持拥有方的内存引用和相反方的内存引用在更改时彼此保持一致。
在这种情况下,您需要手动调用 existingTask.setEmployee(empToBePersisted)。
您还可以查看此答案以获取更多详细信息。
于 2013-10-21T19:06:54.540 回答