把autocommit设成手动了?
commit();了吗?

解决方案 »

  1.   

    commit()了,
    就是只commit()了最后一条。
      

  2.   

    环境具体说下,
    听起来你的insert全部成update了,
      

  3.   

    2种情况.
    1.配置有问题,比如主键的配置类型.
    2.组成数据对象时,是否通过FOR循环去组装的.如果是有可能你把对象创建在外边了,所以对象集合的值是最后一个BEAN对象.
    比如
    for(int i = 0; i < len; i++)
    {
        Bean bean = new Bean();//是否把它定义在外边了
    }
      

  4.   

    for(int i = 0; i < len; i++) 

        Bean bean = new Bean();//是否把它定义在外边了 
         this.save(bean);
    }
    我是这样写的!主键我是配置成Long型的是用hibernate
      

  5.   

    源代码不会是这样的把,此时bean没值勒,
    源代码和hbm.xml帖一部分来看看,
      

  6.   

    Bean bean = new Bean();//是否把它定义在外边了 
        this.save(bean);
        在这里加上个commit试试
      

  7.   

    也就是每次循环每次插入一条记录都要commit一下。我做循环插入的时候就是这么做的。可能不是最好的办法。
      

  8.   


     循环一次就commit一次,可是要是其中一条挂掉了怎么办???
    就没有办法全部回滚了!!