更新后的JPA OneToMany问题

时间:2010-07-20 17:29:05

标签: java jpa orm entity-relationship one-to-many

我有两个类,父级和子级,关系@OneToMany。每个父母都有0个或更多孩子。

@OneToMany(fetch=FetchType.LAZY, cascade={CascadeType.REMOVE})

Parent类还有其他字段,如名称。

我在Container env中,因此我的UI由JSP构成。

当我想要更改Parent对象时,我必须将其传递给servlet,然后传递给客户端浏览器。在网页中我不想把所有孩子的信息都放在一起,我只想为父母的名字设一个文本字段。

当控件返回给我时,我想要使用全新的名称创建一个新的Parent对象,并使用merge创建EntityManger,而不必担心孩子。< / p>

1 个答案:

答案 0 :(得分:2)

我认为正确的方法实际上是加载现有的Parent对象,将name属性设置为新值,然后保存它。这实际上就是你在做什么。

因此,您的表单需要一个字段用于用户可以输入的名称,并且一个隐藏字段包含父级的ID。发布表单时,按id加载Parent对象,将名称设置为输入的值,然后保存。