HibernateCallback()什么情况下用啊,为什么要用这个方法

解决方案 »

  1.   

    一般和spring集成,让spring管理事务时,而且要用到hibernate的session时就要用这个了,这样可以让spring控制事务,让session在事务结束时自动关闭
    如:this.getHibernateTemplate().execute(new HibernateCallback() {
    public Object doInHibernate(Session session) throws HibernateException,SQLException {

    session.createQuery(hql);

    return null;
    }
    });
      

  2.   

    HibernateCallback 的doInHibernate可以看成模板类的抽象方法。
      

  3.   

    单是为了事务吗?用Transaction trans=this.session.beginTransaction();控制事务一样吧,为啥要用到HibernateCallback() ?
    还是不太明白