码迷,mamicode.com
首页 > 其他好文 > 详细

循环保存的对象在事物提交后发现只保存了一个对象

时间:2014-07-08 22:47:14      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:使用   for   代码   new   type   amp   

有时候我们在使用事务循环保存多个对象时,可能会出现在提交事务后发现只保存了最后一个对象

例如

public void saveSystemDDL(SystemDDLPojo systemDDLPojo) {
        String keywordname = systemDDLPojo.getKeywordname();
        String[] ite = systemDDLPojo.getItemname();
        String typeflag = systemDDLPojo.getTypeflag();
        if (typeflag != null && typeflag.equals("add")) {
            for (int i = 0; i < ite.length; i++) {
                systemDDLPojo.setDdlName(ite[i]);
                systemDDLPojo.setKeyword(keywordname);
                systemDDLPojo.setDdlCode(i + 1);
//                System.out.println(systemDDLPojo.getDdlName());
//                System.out.println(systemDDLPojo.getDdlCode());
                this.elecSystemDDLDaoImpl.saveObject(systemDDLPojo);
            }
        }

这段代码执行后貌似几个对象的属性值都获取到了,可是却只保存了最后一个对象,这是因为每次循环都是使用的同一个对象,所以到最后就只会保存最后一个对象

这时,只需要将SystemDDLPojo systemDDL = new SystemDDLPojo();放到循环体的里面,保证每一次循环都是一个新的对象

public void saveSystemDDL(SystemDDLPojo systemDDLPojo) {
        String keywordname = systemDDLPojo.getKeywordname();
        String[] ite = systemDDLPojo.getItemname();
        String typeflag = systemDDLPojo.getTypeflag();
        if (typeflag != null && typeflag.equals("add")) {
            for (int i = 0; i < ite.length; i++) {
                SystemDDLPojo systemDDL = new SystemDDLPojo();
                systemDDL.setDdlName(ite[i]);
                systemDDL.setKeyword(keywordname);
                systemDDL.setDdlCode(i + 1);
//                System.out.println(systemDDL.getDdlName());
//                System.out.println(systemDDL.getDdlCode());
                this.elecSystemDDLDaoImpl.saveObject(systemDDL);
            }
        }

这样就解决了

循环保存的对象在事物提交后发现只保存了一个对象,布布扣,bubuko.com

循环保存的对象在事物提交后发现只保存了一个对象

标签:使用   for   代码   new   type   amp   

原文地址:http://www.cnblogs.com/Christine-chao/p/3830550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!