sava完以后还要flush(),接下来还要关闭session

解决方案 »

  1.   

    是因为事务没提交 或 是回滚了的结果 
    原因是你集成了spring  用myeclipse生产的代码 你在hibernate.xml配置文件里加上 
    <property name="connection.autocommit">true </property> 搞定 或者自己写dao 不用myeclipse生成代码  都行
      

  2.   

    进行事务处理就行了,若你事务都不知道的话,那你都白学了!你的错误在没有commit,楼上所的解决方法都可以,自己选择一种吧
    若你是为了测试的话我介绍你用org.hibernate.Transaction 进行事务处理吧参考代码如下
    Session session = HibernateSessionFactory.getSession();
    transaction = session.beginTransaction();
    /*
    中间是你执行的数据库操作
    */
    transaction.commit();
      

  3.   

    对,是没有提交引起的,可以直接Hibernate中的事务控制,或者使用spring中的事务控制都可以的。
      

  4.   

    输出SQL语句的时候还没有持久化呀...commit()一下就行了....如果你用的是Spring集成hibernate的DAO的话的确是可以自己提交的,hibernate自己还是要你去提交的
      

  5.   

    你debug一下看有没有生成动态代理类或者CGLIB代理类,也就是看一下你在Spring中配置的事务有没有起作用
      

  6.   

    这个 可以 你可以找段代码 看下import java.util.List;import org.hibernate.Transaction;import com.mocha.hibernate.Demo.User;
    import com.mocha.hibernate.Demo.UserDAO;public class HibernateTestDao {
    public static void main(String[] args)
    {
    UserDAO ud=new UserDAO();
    Transaction tran=ud.getSession().beginTransaction();
    User user=new User();
    user.setName("张三");
    user.setSex("男人");
    user.setAge(25);

    ud.save(user);
    tran.commit();
    List<User> result= ud.findAll();
    for(User o:result)
    {
    System.out.println("编号:"+o.getUserId());
    System.out.println("姓名:"+o.getName());
    System.out.println("性别:"+o.getSex());
    System.out.println("年龄:"+o.getAge());
    }
    ud.getSession().close();
    }
    }
      

  7.   

    我也遇到了相同的问题,结果解决方法是:
    原来数据库中id列是自动增加的,只要在entity中不设置id列,save()会自动把返回的序列号设为id
    解决方法就是把entity里的自增的列设置删除~~~
    ~~终于解决了~~~~
    把方法贴上来
      

  8.   

    楼上的人分析一下,楼主多半用的是Spring的事务。但是生成了SQL,数据又被回滚了。
    5楼的解决方案虽然能把数据提交上去,但是就不支持事务了!如:
    在一个业务中,你有多个操作数据库的子业务,
    例如
    业务SuperA中有子业务suba,subb,subc.....
    如果是自动的话,
    suba操作成功 提交
    subb操作失败 回滚
    subc操作失败 回滚 而我们期待的是全部回滚。我也遇到楼主同样的问题,期待高手过来:
    http://topic.csdn.net/u/20090907/22/b901fd3b- 7325-434e-a9eb-8563823519ba.html
      

  9.   

    地址:http://topic.csdn.net/u/20090907/22/b901fd3b-7325-434e-a9eb-8563823519ba.html
      

  10.   

    太感謝yinyuan1987了,找了兩天終於找到正確的解決方法。