Hibernate 自动提交autoCommit一般建议设置成false
2017-02-13 01:00
961 查看
connection.autocommit=true
这个属性是说,如果是true的话,就是自动提交,比如
在一个业务中中,你有多个操作数据库的子业务,
例如
业务SuperA中有子业务suba,subb,subc.....
如果是自动的话,
suba操作成功 提交
subb操作失败 回滚
subc操作失败 回滚
按照我们的逻辑当SuperA中有某一环节操作失败的话,都应该回滚到没有操作之前
而当为true时(connection.autocommit=true),则为出现a成功 b,c失败 ,SuperA不具备了时务的特征,原子性等等
当不是true时(connection.autocommit=false),,这时事务的管理提交给了spring,Spring的事务控制是以一个bean为单位的,
SuperA是bean中一个方法或者其他,这样当执行事务SuperA时,只要a,b,c...中一个失败,都
会认定是失败操作 roolback. 这样避免了脏数据的出现,也合乎了事务的特征。。
这个属性是说,如果是true的话,就是自动提交,比如
在一个业务中中,你有多个操作数据库的子业务,
例如
业务SuperA中有子业务suba,subb,subc.....
如果是自动的话,
suba操作成功 提交
subb操作失败 回滚
subc操作失败 回滚
按照我们的逻辑当SuperA中有某一环节操作失败的话,都应该回滚到没有操作之前
而当为true时(connection.autocommit=true),则为出现a成功 b,c失败 ,SuperA不具备了时务的特征,原子性等等
当不是true时(connection.autocommit=false),,这时事务的管理提交给了spring,Spring的事务控制是以一个bean为单位的,
SuperA是bean中一个方法或者其他,这样当执行事务SuperA时,只要a,b,c...中一个失败,都
会认定是失败操作 roolback. 这样避免了脏数据的出现,也合乎了事务的特征。。
相关文章推荐
- Hibernate 自动提交autoCommit一般建议设置成false
- hibernate的hibernate.connection.autocommit值为什么建议设置为false
- conn.setAutoCommit(false);设置事物手动提交
- [Java] JDBC 06 批Transaction处理 -- conn.setAutoCommit(false); // 不让其自动提交 (很重要的知识点)
- [Java] JDBC 06 批Transaction处理 -- conn.setAutoCommit(false); // 不让其自动提交 (很重要的知识点)
- MySQL事务autocommit自动提交
- MySQL set autocommit = 0或1分别什么啊,哪个是自动提交啊
- MySQL事务autocommit自动提交
- mysql autocommit自动提交问题
- connection.autocommit自动提交事务
- oracle数据库自动提交事务(autocommit)
- Hibernate中设置事务自动提交
- 事物默认自动提交AUTOCOMMIT
- PB中设置SQLCA.AutoCommit = False的说明
- Python 的 MySQLdb 模块插入数据没有成功与 autocommit(自动提交)的关系
- AUTOCOMMIT自动提交该参数要大写才能生效,否则即使小写autocommit改为off,但小写的autocommit并不生效
- oracle数据库自动提交事务(autocommit)为OFF,但事务自动提交了
- solr 自动提交autocommit(原创)
- 每日MySQL之015:MySQL中的自动提交(autocommit)与savepoint
- autocommit(自动提交) mysql