read_only="true"有什么作用
请问以下read_only="true"有什么作用?
<tx:advice id="txAdvice" transaction-manager="transactionManager" >
<tx:attributes>
<tx:method name="get*" read-only="true"/>
<tx:method name="find*" read-only="true"/>
<tx:method name="search*" read-only="true"/>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
正在回答 回答被采纳积分+1
同学你好,
1、首先说read_only="true"表示不以事务的方法进行提交 ,也就是只读查询,可以指定事务类型为readonly,即只读事务,不进行提交事务,只有增删改才需要提交事务,修改数据库的数据。对于同学所描述的取值为REQUIRED,字体颜色呈灰色,这个字体颜色不能说明它是按照事务进行提交,对于propagation标签的本身默认值就为REQUIRED,默认值本身就会灰色显示。
2、get*方法是只读查询,也就是只读事务,不涉及脏读的问题,因为脏读表示一个事务读取到了另外一个事务没有提交的数据,而读取事务是不需要提交数据,修改数据库中的数据的,只有增删改才需要提交事务。所以也就是只有当一个事务进行增删改时,没有提交事务,另一个事务进行查询时,才会出现脏读问题。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星