如何使用休眠保存绑定到另一个对象的持久对象列表



>我有一个名为 Menu 的主对象,其中包含对象列表 VoceMenu

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

当我编辑对象菜单,然后保存它

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

我可以看到,在数据库上,对象 Menu 的字段值被编辑,对象 VoceMenu 的字段没有。

可能我错过了什么。

在持久化之前,您是否在VoceMenu对象上设置了Menu?请尝试以下操作:

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) 

最新更新