对SPRING的事务控制的理解仅出于之前对数据库中事务的理解,即将一些原子操作捆绑成一个大的原子操作,这一堆操作,要么同时成功完成,要么都失败。
但是对SPRING的事务控制有一些疑惑:
1. 我的理解,从SPRING的事务管理这个称呼上看,肯定至少对数据库的操作(DML语句)能起到事务控制的作用,我想知道SPRING的事务控制能不能对文件操作(比如:写文件)起到事务控制的作
用呢?比如某一个事务中有写文件的操作,假如写入操作后发生了异常,请问能将文件状态回滚到写文件操作之前的状态吗。
2. 接着问题1,我想知道SPRING的事务管理,对CREATE TABLE 这种DDL语句能起到事务控制的作用吗,(在数据库的事务中,遇到DDL语句自动提交事务),就是说:某一个事务中假如有CREATE
TABLE操作,假如之一发生了异常,请问能将数据库回滚到CREATE TABLE 之前的状态吗
3. 联想到COMMAND模式(了解一点点),据说对于“需要撤消操作”的需求很是适合,比如WORD中的Ctrl+Z功能,因为COMMAND模式可以保存各个操作步骤的状态,可以将状态在各个操作步骤中轮
回,感觉挺像事务控制啊。。。SPRING的事务控制也是类似于这种COMMAND模式的思想吗?能保存每个操作步骤的状态信息。这个很关键,我想知道SPRING所控制的事务中,为该事务保存的状态,粒度小
到什么程度啊?"给一个变量赋值"这种操作,也可以被回滚吗?
对于SPRING的事务管理没有真正实战过,只是看过些文章和相关配置。。。可能是比较二的问题,谢谢大师们指导!!感谢