我有输入类型,它的值在 flowScope 中设置。
<input name="myItem" required="false" value="flowScope.myItem"/>
我正在创建一个 MyOtherItem 列表并将其发送到这样的控制器方法:
<evaluate expression="myController.save(myOtherItemDataModel.selectedRows,myItem)" result="flowScope.myItem"/>
在 MyController 中,我有方法 save,我想通过从 myOtherItemList 获取数据来保存 myItem 的多个实例。
public MyItem save(MyOtherItem[] myOtherItem,MyItem myItem){
for(int i=0; i<myOtherItem.length; i++){
myItem.setData(myOtherItem[i].getData());
saveMyItem(myItem);
}
return myItem;
}
在 saveMyItem 方法中,我坚持 MyItem 对象
public void saveMyItem(MyItem myItem) {
entityManager.persist(myItem);
}
这里 entityManager 是 javax.persistence.EntityManager 类的一个实例。
我的问题是我只在数据库中保存了一个条目,而 save 方法中的循环运行了不止一次。原因是它没有创建 MyItem 的新实例,而只是覆盖旧实例的数据。有谁知道我该如何解决这个问题?