在 H2 数据库引擎中通过 SQL 而不是通过 Java 方法关闭 AUTOCOMMITOFFOFF

Turn off AUTOCOMMIT in H2 Database Engine via SQL rather than via Java method

提问人:Basil Bourque 提问时间:3/8/2023 更新时间:3/8/2023 访问量:383

问:

如何通过 SQL 在 H2 中关闭 AUTOCOMMIT?

我想在使用 JDBC 的 H2 时启动事务。我知道在JDBC中,我们不在SQL中使用调用。相反,我们只是禁用自动提交。BEGIN TRANSACTION

那么如何在与 H2 的 JDBC 会话中关闭自动提交呢?

我在诸如Session之类的类上看到了一些方法。我必须使用其中之一作为 Java 调用吗?setAutoCommit( boolean )

是否可以在 JDBC 代码的嵌入式 SQL 中使用一些 SQL 语句?

SQL H2 自动提交

评论


答:

2赞 xerx593 3/8/2023 #1

SET AUTOCOMMIT OFF ;

(如我所见,)您有三种选择:

  • 通过 JDBC URL,例如:jdbc:h2:./foo/bar;AUTOCOMMIT=OFF
  • via SQL 语句:(可能的值:,在集群模式下不受支持SET AUTOCOMMIT OFFTRUE | ON | FALSE | OFF)
  • 通过 (java.sql/)Connection.setAutoCommit(false)

裁判:

评论

1赞 Basil Bourque 3/8/2023
是的,这就是我需要的。我不知道我是如何在文档中错过的。我看了又看,又找了。SET AUTOCOMMIT OFF