【问题标题】:How to auto-replace children entities with JDO?如何用 JDO 自动替换子实体?
【发布时间】:2011-07-14 00:07:47
【问题描述】:

作为this question 的后续行动,我有一个父实体,其中包含一组子实体。

更新父实体时,我想将子集合设置为新值,而无需手动删除(可能按父 ID 删除)集合中的旧项目。

类似这样的:

parent.set_children(newListOfChildren); 

当我执行上述操作时,新的子实体列表仍然存在,但旧的子实体仍然存在。

有没有一种开箱即用的方法?

我看到的替代方法是擦除父级(也擦除所有子级),然后用新的子级重新创建它,但这感觉很狡猾!

任何帮助表示赞赏。

【问题讨论】:

    标签: google-app-engine google-cloud-datastore jdo datanucleus


    【解决方案1】:

    假设如下:

    @Persistent(defaultFetchGroup = "true")
    @Join(column = "user_id")
    @Element(column = "email")
    private List<String> emails;
    

    从那里,您可以初始化您的架构,然后在其他时间查找父对象时,您可以clear() 列表并添加新条目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多