在spring中,使用事务和不用事务的区别

来源:百度知道 编辑:UC知道 时间:2024/07/04 10:46:39
各位高手大家好,我最近在学习Spring,自己也作了几个例子。但我在开发的过程中发现我使用事务和不使用事务效果都一样,我想问一下两者的区别,谢谢大家:

第一种,不使用事务,Spring的配置如下:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="userDAO" class="com.sshtest.dao.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

然后我在DAO里直接getHibernateTemplate().saveOrUpdate(transientInstance);和getHibernateTemplate().delete(transientInstance);等就可以直接对数据库操作,也不用配置事务。

第二种,在Spring中配置事务:
就是配置
<bean id="transactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />

假设你有一个事务,要提交两个数据库操作请求(假设请求1是在A表插入一条数据,请求2是在B表插入一条数据)。而两个请求要求要么都成功,要不成功都不执行。
你可以将两个请求放在一个事务里,就可以完成上面的要求!
要是不加,你怎么保证第二个数据库请求失败的时候,第一个请求回滚!