在spring中定义hibernate的事务如下
xml 代码
- <bean id="transactionManager"
- class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <property name="sessionFactory">
- <ref local="sessionFactory" />
- </property>
- </bean>
- <bean id="proxyTemplate" abstract="true"
- class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
- <!-- 指定事务管理器 -->
- <property name="transactionManager">
- <ref local="transactionManager" />
- </property>
- <!-- 指定业务策略 -->
- <property name="transactionAttributes">
- <props>
- <prop key="*">PROPAGATION_REQUIRED</prop>
- </props>
- </property>
- </bean>
service中定义了如下两个方法
java 代码
- void functionA(){
- for(;true;){
- functionB();
- update();
- }
- }
- void functionB(){
- insert();
- }
其中都没有flush操作, 为什么我在测试functionA()时在控制台看到是这样的执行情况:
1,更新语句都是即时执行
2,插入语句是在整个functionA()函数的最后才一起一条一条的执行.
哪位大哥来给解释下哈