当前位置:编程学习 > JAVA >>

spring的事务配置是必须的吗

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


正解 ,楼主的问题没研究过,我觉得没必要研究啊,既然用了spring,就肯定要进行事物配置的啊 ,spring就那么点好处,还不好好利用~ --------------------编程问答-------------------- 保证数据完整性,正解
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,