【问题标题】:transactions in jdbijdbi 中的事务
【发布时间】:2011-11-16 20:28:04
【问题描述】:

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

【问题讨论】:

    标签: jdbc transactions jdbi


    【解决方案1】:

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

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

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

    -布赖恩

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2014-01-14
        • 1970-01-01
        • 2014-07-13
        • 1970-01-01
        • 2017-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多