###数据库只读事务
#####起因:
<tx:advice id="txAdvice">
<tx:attributes>
<!--以save、delete、update字母开的的方法设置事务 -->
<tx:method name="add*" propagation="REQUIRED" rollback-for="Exception" />
<tx:method name="save*" propagation="REQUIRED"
rollback-for="Exception" />
<tx:method name="update*" propagation="REQUIRED"
rollback-for="Exception" />
<tx:method name="del*" propagation="REQUIRED" rollback-for="Exception" />
<tx:method name="bulk*" propagation="REQUIRED"
rollback-for="Exception" />
<tx:method name="check*" propagation="REQUIRED"
rollback-for="Exception" />
<tx:method name="reject*" propagation="REQUIRED"
rollback-for="Exception" />
<!--其他方法事务只读,提高性能 -->
<tx:method name="*" propagation="REQUIRED" read-only="true" />
</tx:attributes>
</tx:advice>
在spring事务的配置中,未将insertXXX方法配置到事务中,出现在只读事物中无法插入数据的错误。对其中只读事务感到陌生。
#####只读事务的解释 > 在整个事务中的数据在事务开始时就决定,即使有其他会话在事务周期内修改并提交数据,也不会影响事务。可以认为在只读事务周期内,其他事务的对数据的改变就像不存在一样。保证事务的一致性,在只读事务下是不能对数据做修改的。
######事务中的数据在事务开始时就决定