H2 内存数据库:解决使用“jdbc:h2:mem:
时的“Table Not Found”错误尝试连接到内存数据库时出现错误消息“Table 'TABLE_NAME' not found”通常表示存在配置问题,因为该表在创建后已关闭。
要解决此问题,您需要将以下参数添加到您的 JDBC 连接 URL:
;DB_CLOSE_DELAY=-1
例如,修改后的连接 URL 将如下所示:
jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
说明:
当您使用默认配置(例如 jdbc:h2:mem:test)连接到 H2 中的内存数据库时,最后一个连接关闭时数据库内容会丢失。您需要设置 DB_CLOSE_DELAY=-1,这可确保只要 Java 虚拟机 (JVM) 运行,数据库就保持打开状态。这允许您保留内存数据库的内容,直到您显式关闭它或终止该数据库。 JVM。
此配置更改记录在 H2 功能页面的“内存数据库”部分下:
默认情况下,关闭最后一个数据库连接将关闭数据库。对于内存数据库来说,这意味着内容丢失。要保持数据库打开,请将 ;DB_CLOSE_DELAY=-1 添加到数据库 URL。要在虚拟机处于活动状态时保留内存数据库的内容,请使用 jdbc:h2:mem:test;DB_CLOSE_DELAY=-1。
按照此解决方案,您可以成功连接到您的虚拟机。内存数据库并使用表而不会遇到“找不到表”错误。
以上是如何防止H2内存数据库出现'Table Not Found”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!