不幸的是,使用自动提交是特定于数据库的(事务行为也是如此)。我认为,如果您没有全局的程序化交易策略,自动提交可能比仅希望每个人都正确关闭/回滚交易更好。
对于MySQL而言,默认情况下您可以将autocommit = true保留为开,并且在您开始交易时会自动将其关闭。设置autocommit =
false的唯一原因是,如果有人要尝试在没有BEGIN的情况下启动事务,则要强制执行错误。
为了简化当今典型的Java + MySQL应用程序,我或多或少会忽略自动提交设置,使用打开会话可见模式并将其称为好。
我强烈建议不要使用显式RDBMS行锁,而应使用乐观锁。Hibernate提供了对乐观锁的内置支持,但是即使对于手动滚动的代码,这也是一种易于采用的模式,并提供了更好的性能。



