第8行代码 session.update(board);
前后加上事务
Transaction tx=session.beginTransaction();
session.update(board);
tx.commit();

解决方案 »

  1.   

    学习,这里session怎么获取的?为什么说这段代码错误使用了Hibernate?
      

  2.   

    使用hibernate的session操作数据库,进行数据库写操作时,应该操作之前开启事务,操作之后关闭事务。
      

  3.   

    DAO里调用getHibernateTemplate()这个知道吧,session可以这样获取:
    SessionFactory sf = getHibernateTemplate().getSessionFactory();
    Session si = sf.getCurrentSession();
      

  4.   

    DAO里调用getHibernateTemplate()这个知道吧,session可以这样获取:
    SessionFactory sf = getHibernateTemplate().getSessionFactory();
    Session si = sf.getCurrentSession();
    为什么不直接用hibernate模板方法getHibernateTemplate,这样不需要再开启、关闭事务了
      

  5.   

    DAO里调用getHibernateTemplate()这个知道吧,session可以这样获取:
    SessionFactory sf = getHibernateTemplate().getSessionFactory();
    Session si = sf.getCurrentSession();
    为什么不直接用hibernate模板方法getHibernateTemplate,这样不需要再开启、关闭事务了
    因为有些写数据库的操作必须在事务管理模式下完成,比如写oracle的大数据字段blob.
      

  6.   

    DAO里调用getHibernateTemplate()这个知道吧,session可以这样获取:
    SessionFactory sf = getHibernateTemplate().getSessionFactory();
    Session si = sf.getCurrentSession();
    为什么不直接用hibernate模板方法getHibernateTemplate,这样不需要再开启、关闭事务了
    因为有些写数据库的操作必须在事务管理模式下完成,比如写oracle的大数据字段blob.
    事务当然还要用的,直接用getHibernateTemplate.save(),配spring声明式事务,这样呢