批量插入VO遇到的问题
需求:批量插入一些对象。
调用方法:
public void saveBatch(String str, LwsQResult model) {// TODO Auto-generated method stubString[] sampleIdParent = str.split("\\|"); for(int i=0;i<sampleIdParent.length;i++){model.setId(""); // ① model.setdel("0");model.setSampleParentId(sampleIdParent[i]);dao.save();dao.flash();}}?model的大部分属性都是相同的,只有每个model的Id,del,SampleParentId是不相同的。
?刚开始编写时没有①,?这样当循环的i=1时就变成了对原vo的修改,而不是再增加一条,故考虑修改vo的Id,想让他以另一个对象的形式插入数据库中,但执行到i=1时就报错误了,原因是vo和数据库已经同步了,这时不能在修改该vo的主键。
?所以这种批量存储VO只能每次新建个对象来赋值。
?
另外,如果dao.flash()后增加一句:model.setdel("1"); 那么最后插入数据库中的del为1,不用再执行merge或flash就可与数据库同步。