我正面临这种情况:我有三个实体(EntA、EntB 和 EntC) EntA 和 EntB 有一个 Key<EntC> 参数。EntC 也有一个 List<String> 参数,它将 EntA 和 EntB 的键保存为字符串。
为了获得任何实体的密钥,我首先必须保留它们(id 字段是自动生成的)。所以我这样做:
- 创建并保存 EntC,这将为 EntA 和 EntB 创建我需要的 Key<EntC> 值。
- 我使用 Key< EntC> 创建 EntA 和 EntB 并保存它们。
- 通过将 Key<EntA> 和 Key<EntC> 添加到相应的列表来更新 EntC。我发现实体没有在 DS 中更新,而是重新编写。所以,我首先获取 EntC,获取它的 id,我用它来创建一个包含 Key<EntA> 和 Key<EntB> 的新 EntC 实体。最后,我删除了原来的 EntC 并保存了新的 EntC。
我想知道是否有更好的方法来实现这一点。此外,在我删除原始 EntC 实体之后和保存新的 EntC 实体之前,是否有可能另一个实体获得了原始 EntC 实体的 id?