Parent Child 上下文混淆和并发问题

Parent Child Context Confusion & Concurrency issues

我几乎不怀疑 parent child 上下文 set-up 以及数据的行为方式。任何人都可以建议 link 在那里我可以找到关于它们如何工作的正确解释。

几点和观察

  1. Parent 上下文充当 child 上下文的存储 :- 但是 parent 中的更改不会反映在 child 中。

问题 1:如果 parent 上下文充当 child 上下文的存储那么为什么 parent 中的更改没有反映出来在 child 上下文中,而 child 获取它们。

观察:

  1. 插入 parent :- Child 提取请求得到那些 objects.
  2. Update/delete a object in parent :- 然后获取请求没有得到更新的 object 而是它为我们提供了 object in child 上下文,因此如果我们需要更新的 object,我们必须重置上下文,但这样我们将丢失 child 上下文中的所有更改或刷新 object。

问题 2: Child 覆盖 parent 上下文值。因此,如果用户在 parent 上下文中修改了某些内容并且 child 也修改了相同的内容,那么用户的更新将丢失。在涉及到关系之前,这不是什么大问题。

假设实体 A、B 之间存在一对多关系 (A->>B)。

Parent 上下文:向实体 A 插入一个新的 child 说 Child-1.

Child 上下文:删除实体 A 及其所有 child。

所以现在当 child 保存到 parent 上下文时,它会删除实体 A 及其旧的 child,新插入的 child-1 保留在具有空引用的上下文 parent。

我该如何解决这个问题?

问题 1 因为你已经获取了数据,如果你想像你说的那样强制获取你应该重置上下文或刷新对象。

问题 2 如果你想在删除父实体A时总是删除实体B,你可以尝试使用级联删除。