我使用jdbi inTransaction()函数将sql查询作为事务执行。我想知道内部如何/使用哪种类型的锁定机制。另外,整个表是在事务处理期间锁定的还是只是必须更新的记录?

最佳答案

事务纯粹是在数据库级别。除非被覆盖,否则它将对数据库/连接使用默认的隔离级别。

如果使用的是接受回调的inTransaction(...)方法,则可以使用该函数的一种形式来设置隔离级别:

<ReturnType> ReturnType inTransaction(TransactionIsolationLevel level,
                                      TransactionCallback<ReturnType> callback)

-布莱恩

09-27 00:40