删除JDO中的子实体

时间:2011-07-21 15:23:49

标签: jdo db4o datanucleus

我想知道JDO中是否可以使用以下内容。

我在Parent和Child类之间有1-N的关系。所以我的课程看起来像

@PersistenceCapable 
public class Parent { 

    @Persistent 
    private String name; 

    @Elements(mappedBy = "parent", dependent = "true") 
    private List<Children> children; 
}

@PersistenceCapable 
public class Child { 

    @Persistent 
    private String name; 

    @Persistent
    private Parent parent;
}

级联删除工作正常。我可以删除父项,其所有子项都将从数据存储中删除。

如果我查询特定子项的数据存储并让该查询删除它,那么子项将从Child对象表中删除,但其Parent的子项列表将包含一个空项。

我想这是一个相当愚蠢的问题,但有没有办法让JDO在删除孩子时更新父母的名单,或者我自己必须这样做?

感谢您的回复。

1 个答案:

答案 0 :(得分:-1)

我推荐没有DataNucleus层的db4o。它只是阻碍了表现更好的解决方案。我们已经完成了测试,发现如果你直接使用db4o它会表现得更好并且使用更少的资源。