FlushMode previous = session.getFlushMode();
session.flush();
session.setFlushMode(FlushMode.NEVER);
// Do some querying
// Do some more querying
// Really load up that session
// Execute a few more queries
// Write back to some tables
session.flush();
session.setFlushMode(previous);
session.flush();
session.setFlushMode(FlushMode.NEVER);
// Do some querying
// Do some more querying
// Really load up that session
// Execute a few more queries
// Write back to some tables
session.flush();
session.setFlushMode(previous);
我明白你写的过程,可我想做的是,不要在程序中指定
session.setFlushMode(FlushMode.NEVER);
而是想在配置文件中指定FlushMode为NEVER。
<bean id="transactionInterceptor" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<!-- 关联事务管理器 -->
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<!-- 配置所拦截方法的事务应用方式 -->
<props>
<prop key="regist*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_SUPPORTS,readOnly</prop>
<prop key="tx*">PROPAGATION_REQUIRED, -Exception</prop>
<prop key="*">PROPAGATION_SUPPORTS,readOnly</prop>
</props>
</property>
</bean>不知道这样行不行