hibernateDaoSupport 的事物管理hibernateDaoSupport 类来自动创建和提交的吗~!
为什么我在用hibernateDaoSupport 对数据库进行增删改没有注入事物,也可以年持久化数据。
hibernateDaoSupport 默认是可以不用管理事务和关闭session的. 它可以自动处理. 如果对数据库的操作失败也会回滚到原来的状态. 但我们也可以手动出来事务.. 但session还是不需要我们去关闭的. 如果关闭的session的话会抛session is
closed异常.
建议使用声明事务管理,你可以参考spingside2
另外需要提醒你的是 在RuntimeExcetpion的时候才会回滚数据库
这是我的一小段配置
[code="java"]aop:config
pointcut="execution(* com.inspur.demo.service.*.*(..))"
advice-ref="txAdvice" />
/aop:config
tx:attributes
/tx:attributes
/tx:advice
<!-- <bean id="transactionManager"-->
<!-- class="org.springframework.jdbc.datasource.DataSourceTransactionManager">-->
<!-- <property name="dataSource">-->
<!-- <ref local="dataSource" />-->
<!-- </property>-->
<!-- </bean>-->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>[/code]