hibernateTemplte 问题

hibernateTemplte 只是实现了单个sql语句的 事务,  它只是在在sava()或其他操作前加上session.beginTransaction(),在sava()后 ts.commit()  然后try catch  {rollback()}。

所以他只能自动提交一条sql语句,无法实现service层的执行多条sql的事务。所以,即使使用hibernateTemplte ,也要在xml中配置事务,此时,配置文件中的事务,不受ts.commit() 的影响。

个人建议还是使用getSessionFactory(),然后做一个父类sessionFactory,spring注入这个父类,其他类extends 这个父类,就可以直接 this.getSessionFactory()拿到getSessionFactory,不需要每个类都注入。

你可能感兴趣的:(hibernateTemplte 问题)