jdbi的交易

时间:2011-11-16 20:28:04

标签: jdbc transactions jdbi

我使用jdbi inTransaction()函数执行sql查询作为事务。我想知道内部如何/什么类型的锁定机制。另外,整个表是在交易期间锁定还是只是需要更新的记录?

3 个答案:

答案 0 :(得分:8)

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

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

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

-Brian

答案 1 :(得分:1)

这取决于事务隔离级别。 Isolation

答案 2 :(得分:0)

问题的第二部分,“...是在事务期间锁定的整个表还是仅需要更新的记录?”,取决于所使用的DBMS。

例如,这里是用于表级和行级锁定的MySQL文档:https://dev.mysql.com/doc/refman/5.7/en/internal-locking.html