spring的事务配置是必须的吗

clearGo 2012-12-17 10:58:21
今天跟人聊天时,说到了spring的事务。
他说要是不配事务,在增删改的时候,在当前运行的项目时,可以看到效果的。
就是说,我的增删改,在页面中可以看到。
但是,进入到数据库里查看,就看不到增删改的数据。
如果把tomcat停掉,数据库就更新了。
所以,要在spring的配置文件里,写上事务。。
想问问:
spring,一定要配置事务吗?还是可选的?
如果是一定要的,为什么它不直接默认提交事务呢?
像Hibernate中,session一关自动提交事务一样。
...全文
379 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yunxitalk 2012-12-21
  • 打赏
  • 举报
回复
保证数据完整性,正解
拎干的毛巾 2012-12-21
  • 打赏
  • 举报
回复
引用 6 楼 shanghaijingsheng 的回复:
按错了: eg: public void addUser(){ for(int i = 0 ;i<10 ; i++){ dao.add(user); } } 比如service中有个增加用户的方法,一次循环增加10次,只有当这个10次增加操作全成功的时候,事物才能提交,数据就是对的,完整的。 那么当其中任何一次增加失败,事物就回……
正解 ,楼主的问题没研究过,我觉得没必要研究啊,既然用了spring,就肯定要进行事物配置的啊 ,spring就那么点好处,还不好好利用~
sky_08_06_02 2012-12-20
  • 打赏
  • 举报
回复
一般话做项目都会配置事务的,楼主的意思应该是,假如不配置的话,数据会不会提交到数据库吧
aliuges 2012-12-19
  • 打赏
  • 举报
回复
要是一个对数据库操作业务多的话,没有事务管理会很麻烦,万一操作失误丢失数据后可以直接回滚。
阿鸿Leon 2012-12-19
  • 打赏
  • 举报
回复
5楼说的也对...... 就是保证一个业务正确的执行,就想oracle的存储过程一样一样滴,过程中间异常了,那么整个过程就是执行失败的。。。
阿鸿Leon 2012-12-19
  • 打赏
  • 举报
回复
按错了: eg: public void addUser(){ for(int i = 0 ;i<10 ; i++){ dao.add(user); } } 比如service中有个增加用户的方法,一次循环增加10次,只有当这个10次增加操作全成功的时候,事物才能提交,数据就是对的,完整的。 那么当其中任何一次增加失败,事物就回滚,整个增加的操作都不会成功,数据库中也不会有脏数据。 还有配置事物的传播特性.. 保证业务的唯一性。。。比如查询的方法是只读事物,只能查询,不能做增删改的操作, 等等 ,诸如此类的,,,
ydehh 2012-12-19
  • 打赏
  • 举报
回复
配置事物是在业务层陪的。。默认的事物通常是在dao层。。实际业务不可能一个dao就能搞定。所以要在业务层配。。。比如操作日志。。任何操作都要先记录操作日志然后再执行。。这就用的最基本的两个dao。。如果写完日志出错了。后面的代码没有执行。。就要求回滚。。所以要陪事物
阿鸿Leon 2012-12-19
  • 打赏
  • 举报
回复
事物最大的组作用无非是保证数据的完整性..... eg:
安特矮油 2012-12-18
  • 打赏
  • 举报
回复
这个还没有真没有试过。理论上来说应该不会,如果没有事务控制的话应该是一条数据执行一次提交才对的啊。不过有待测试。或许还跟连接有关吧,如果都是一个连接没有关闭,估计数据是不会提交。这个跟spring的事务应该也没有关系的吧
-tomcat- 2012-12-17
  • 打赏
  • 举报
回复
应该是可以选的吧,但是如果不用事物管理的话,也就不能很好的体现spring低耦合的思想了

67,514

社区成员

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

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