如何在spring 中保存许多对象
@Component @Entity @Table(name="menu") @Configurable public class Menu implements Serializable{ .... @OneToMany(mappedBy="menu", fetch=FetchType.EAGER) private Set voceMenuList; public Set getVoceMenuList() { return voceMenuList; } public void setVoceMenuList(Set voceMenuList) { this.voceMenuList = voceMenuList; } ..... }
我打印一个表单来编辑菜单,以及它的相对VoceMenu对象,这样:
...... .....
但是,当我尝试保存对象菜单时,我收到此错误:
bean类[com.springgestioneerrori.model.Menu]的属性’voceMenuList [0]’无效:无法使用属性路径’voceMenuList [0]’访问大小为0的索引0的元素
索引无法访问Set的元素。 您需要添加返回包装集合的List的方法。
@Component @Entity @Table(name="menu") @Configurable public class Menu implements Serializable{ .... @OneToMany(mappedBy="menu", fetch=FetchType.EAGER) private Set voceMenus; public Set getVoceMenus() { return voceMenus; } public void setVoceMenus(Set voceMenus) { this.voceMenus = voceMenus; } //bind to this public List getVoceMenusAsList(){ return new ArrayList (voceMenus); } ..... }
JSP:
Menu id
...... .....