如何解决为什么TRANSACTION_READ_COMMITTED是Java中的默认设置?
交易教程在Using Transactions to Preserve Data Integrity部分中进行了解释:
默认事务隔离级别取决于您的DBMS。例如,对于Java DB,它是TRANSACTION_READ_COMMITTED。
对于我的Postgresql数据库,它是相同的。但这似乎不是最好的方法,因为只有TRANSACTION_SERIALIZABLE
可以防止所有不一致:
Isolation Level │Transactions │Dirty Reads │Non-Repeatable Reads│Phantom Reads
=============================================================================================
TRANSACTION_NONE │Not supported│Not applicable│Not applicable │Not applicable
TRANSACTION_READ_COMMITTED │Supported │Prevented │Allowed │Allowed
TRANSACTION_READ_UNCOMMITTED│Supported │Allowed │Allowed │Allowed
TRANSACTION_REPEATABLE_READ │Supported │Prevented │Prevented │Allowed
TRANSACTION_SERIALIZABLE │Supported │Prevented │Prevented │Prevented
为什么最好的选项不是默认选项?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。