我使用jdbi inTransaction()函数将sql查询作为事务执行。我想知道内部如何/使用哪种类型的锁定机制。另外,整个表是在事务处理期间锁定的还是只是必须更新的记录?
最佳答案
事务纯粹是在数据库级别。除非被覆盖,否则它将对数据库/连接使用默认的隔离级别。
如果使用的是接受回调的inTransaction(...)方法,则可以使用该函数的一种形式来设置隔离级别:
<ReturnType> ReturnType inTransaction(TransactionIsolationLevel level,
TransactionCallback<ReturnType> callback)
-布莱恩