请教一个spring声明式事务管理问题

romanitc 2011-06-17 11:17:35
我的框架是ssh2,例如:我的service层有很多方法中只有一个简单查询一个表的数据,请问你们一般让不让aop管理??


<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="existByUserNameAndPwd" read-only="true" />

<tx:method name="add*" propagation="REQUIRED"/>



</tx:attributes>
</tx:advice>


类型似existByUserNameAndPwd这样的方法,只是简单的查询,我在sevice层有十几个左右,请问你们一般让不让spring管理?
我个人觉得:对于简单的只有单个查询方法不应该让spring管理,一些复杂的查询、添加、删除和修改等等才让spring管理!
...全文
108 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
romanitc 2011-06-21
  • 打赏
  • 举报
回复
怎么你们都把查询都加readOnly=true呢?[[Quote=引用 9 楼 fly_m 的回复:]
在查询方法上追加@Transactional注解,里面属性加上readOnly=true
[/Quote]
romanitc 2011-06-21
  • 打赏
  • 举报
回复
怎么你们都把查询都加readOnly=true呢?[Quote=引用 7 楼 linminqin 的回复:]
我的做法是都加入事务,不过查询的话,就加上read-only属性。
[/Quote]
Fly_m 2011-06-21
  • 打赏
  • 举报
回复
在查询方法上追加@Transactional注解,里面属性加上readOnly=true
JavaMan_KA 2011-06-21
  • 打赏
  • 举报
回复
如果是查找的话,一般加上read-only属性。对于增删改的话,加事物是必须的,以便出错时回滚。
romanitc 2011-06-20
  • 打赏
  • 举报
回复
自己再顶一下!
空白-键 2011-06-20
  • 打赏
  • 举报
回复
我的做法是都加入事务,不过查询的话,就加上read-only属性。
淫生杯具 2011-06-20
  • 打赏
  • 举报
回复
不懂,来学习,

该标志可以设定为true,表明该事物不修改任何持久性状态。更多的情况下,这只是个提示,因为不是所有的事务性资源都可以利用这个设定。
在使用Hibernate的时候,它尤为有用,因为它告知Hibernate不要在只读事务中检测和刷新变化 ,
大概也可以优化性能。
romanitc 2011-06-18
  • 打赏
  • 举报
回复
谢谢上面的分享,还有没有人分享分享一下!自己顶一下!
xinghen88 2011-06-18
  • 打赏
  • 举报
回复
额,上面的好像没有回答楼主的疑惑!aop的作用是把相同的操作提取出来进行统一配置,然后再要使用此操作的地方进行调用。如果楼主的service层方法除去查询外还有很多增删改的方法的话建议楼主是用aop统一管理,这样能使代码更加清晰,方便维护。再则这也会养成一种好习惯,让楼主写出的代码质量更高一些。
xinghen88 2011-06-18
  • 打赏
  • 举报
回复
事物的好处就是让操作能有迂回的余地,查询成功不成功一般不会对数据库的数据有所影响,所以不用事物控制,而增删改就不一样了,它们会对数据库中的数据进行修改,一旦修改错误那后果就太严重了,容易造成数据混乱,例如图书管理系统,一个人的借阅信息向数据库添加的时候并没有成功,但图书信息中的借出数量却增加了,那这本书到底借给谁了就没法查了。所以图书信息中的借出数量只能是在借阅信息添加成功的时候才能更新,相反也一样图书的借阅信息也必须在图书信息中的借出数量更改成功的基础上添加,这就是要成功都成功,要失败就都失败,这样就会对数据库中的数据起到很好的保护作用。
剑神一笑 2011-06-18
  • 打赏
  • 举报
回复
也只有增删改采用事物把
查询一般不用事物
所以你这个配置就可以了

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧