如何使用Hibernate保存绑定到另一个对象的持久对象的List

时间:2015-06-18 10:10:11

标签: java hibernate nhibernate-mapping

我有一个名为Menu的主对象,带有一个对象列表VoceMenu

public class Menu implements Serializable{
...
@OneToMany(mappedBy="menu", fetch=FetchType.EAGER)  
private List<VoceMenu> voceMenuList;
...
}

当我编辑对象菜单然后我用

保存它
...
getCurrentSessionFactory().saveOrUpdate(menu);  
...

我可以看到,在DB上,对象Menu的字段值被编辑,对象VoceMenu的字段不是。

可能我错过了什么。

1 个答案:

答案 0 :(得分:0)

您是否在坚持之前在VoceMenu对象上设置了菜单?请尝试以下方法:

Menu menu = new Menu();
VoceMenu voce = new VoceMenu();
voce.setMenu(menu);
voceMenuList.add(voce);

...
getCurrentSessionFactory().saveOrUpdate(menu);

此外,您需要添加cascade = Cascade.PERSIST才能实现:

@OneToMany(mappedBy="menu", fetch=FetchType.EAGER, cascade = Cascade.PERSIST)