使用HibernateTemplate时,不显示的声明事务管理,照样能对数据库作CURD。java
这是由于在没有声明事务时,HibernateTemplate是默认自动提交事务的(Spring)。mysql
所以若是在业务代码中,只涉及到一次数据库操做时默认自动事务提交已经足够,若是屡次数据库操做则须要作事务声明。spring
hibernateTemplate有点相似事务中的propagation的required. sql
当你在spring配置了事务的时候,hibernateTemplate就会用当前spring配置的事务,数据库
若是spring没有配置事务,然而hibernateTemplate又是必需要一个事务,ui
则它会本身建立一个事务开始并提交!!spa