>我有一个名为 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)