4 个解决方案
#1
看看是不是事务隔离级别的问题,需要修改到读未提交才能读取未提交的数据
#2
以前遇到一样的问题。那时候是spring配置了以某某名称开头的方法进行事务管理,那时候我写方法没按这个规则出现这个相同的问题,但是现在我的方法名完全按照配置来的。还出现这个问题。所以找了一下午,无解了!!!!
#3
新增的方法改了好几种写法。问题还是一样存在。查询也修改了。还是这样 到底是事务还是缓存问题。 基础太差,被这问题整的。。。。
#4
<!-- 事务管理 通知 -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 对insert,update,delete 开头的方法进行事务管理,只要有异常就回滚 -->
<tx:method name="add*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="append*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="modify*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="edit*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="remove*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="repair" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="delAndRepair" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<!-- select,count开头的方法,开启只读,提高数据库访问性能 -->
<tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="load*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="search*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="datagrid*" propagation="SUPPORTS" read-only="true"/>
<!-- 对其他方法 使用默认的事务管理 -->
<tx:method name="*" propagation="SUPPORTS" />
</tx:attributes>
</tx:advice>
这是事务管理的配置。我的新增方法以addXXX开头,查询方法是以getxxx开头 。 大家给看看有啥问题没有!
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 对insert,update,delete 开头的方法进行事务管理,只要有异常就回滚 -->
<tx:method name="add*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="append*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="modify*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="edit*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="remove*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="repair" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="delAndRepair" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<!-- select,count开头的方法,开启只读,提高数据库访问性能 -->
<tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="load*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="search*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="datagrid*" propagation="SUPPORTS" read-only="true"/>
<!-- 对其他方法 使用默认的事务管理 -->
<tx:method name="*" propagation="SUPPORTS" />
</tx:attributes>
</tx:advice>
这是事务管理的配置。我的新增方法以addXXX开头,查询方法是以getxxx开头 。 大家给看看有啥问题没有!
#1
看看是不是事务隔离级别的问题,需要修改到读未提交才能读取未提交的数据
#2
以前遇到一样的问题。那时候是spring配置了以某某名称开头的方法进行事务管理,那时候我写方法没按这个规则出现这个相同的问题,但是现在我的方法名完全按照配置来的。还出现这个问题。所以找了一下午,无解了!!!!
#3
新增的方法改了好几种写法。问题还是一样存在。查询也修改了。还是这样 到底是事务还是缓存问题。 基础太差,被这问题整的。。。。
#4
<!-- 事务管理 通知 -->
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 对insert,update,delete 开头的方法进行事务管理,只要有异常就回滚 -->
<tx:method name="add*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="append*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="modify*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="edit*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="remove*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="repair" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="delAndRepair" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<!-- select,count开头的方法,开启只读,提高数据库访问性能 -->
<tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="load*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="search*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="datagrid*" propagation="SUPPORTS" read-only="true"/>
<!-- 对其他方法 使用默认的事务管理 -->
<tx:method name="*" propagation="SUPPORTS" />
</tx:attributes>
</tx:advice>
这是事务管理的配置。我的新增方法以addXXX开头,查询方法是以getxxx开头 。 大家给看看有啥问题没有!
<tx:advice id="transactionAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 对insert,update,delete 开头的方法进行事务管理,只要有异常就回滚 -->
<tx:method name="add*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="append*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="modify*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="edit*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="remove*" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="repair" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<tx:method name="delAndRepair" propagation="REQUIRED" rollback-for="java.lang.Throwable"/>
<!-- select,count开头的方法,开启只读,提高数据库访问性能 -->
<tx:method name="get*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="find*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="load*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="search*" propagation="SUPPORTS" read-only="true"/>
<tx:method name="datagrid*" propagation="SUPPORTS" read-only="true"/>
<!-- 对其他方法 使用默认的事务管理 -->
<tx:method name="*" propagation="SUPPORTS" />
</tx:attributes>
</tx:advice>
这是事务管理的配置。我的新增方法以addXXX开头,查询方法是以getxxx开头 。 大家给看看有啥问题没有!