google app engine java jpa一对多删除

Ram*_*h V 5 java google-app-engine jpa

在Google App引擎中java jpa一对多的关系,我如何删除子元素.例如

Class Parent{
   // key defined here

   @OneToMany(cascade=CascadeType.ALL, mappedBy="parent")
   private List<Child> childs = null;
.
.
.
}

Class child{
//key defined here too
@ManyToOne
private Parent parent;
.
.
.
}
Run Code Online (Sandbox Code Playgroud)

我建立

Parent parent=new Parent()
parent.getChilds().add(new Child(1));
parent.getChilds().add(new Child(2));
//save parent 
.
.
Run Code Online (Sandbox Code Playgroud)

现在我想删除孩子1和2并添加一个新孩子3

Parent p=//getParent
p.setChilds(new ArrayList<Child>())//remove all older childs
parent.getChilds().add(new Child(3));//adding new child 3
.
.
Run Code Online (Sandbox Code Playgroud)

但是,当我再次获取同一个父母时,我拥有所有3个孩子,但不仅仅是孩子3.

任何人都可以指导我.

谢谢,Ramesh.V

Dat*_*eus 0

也许会

parent.getChilds().clear();
Run Code Online (Sandbox Code Playgroud)

因为这样可以节省删除和重新创建列表的麻烦,并且可能还有解决某些 GAE 问题的额外好处。附言。“孩子”的复数是“孩子们”!