首頁  >  文章  >  Java  >  為什麼 H2 記憶體資料庫會出現「找不到表格」錯誤以及如何修復?

為什麼 H2 記憶體資料庫會出現「找不到表格」錯誤以及如何修復?

Patricia Arquette
Patricia Arquette原創
2024-10-26 03:21:03880瀏覽

 Why does

H2 記憶體資料庫:解決「找不到表格」錯誤

透過URL 使用H2 記憶體資料庫時「jdbc:h2:mem :test”,使用者在嘗試從先前建立的表中選擇資料時可能會遇到錯誤“未找到表'PERSON'”。出現此錯誤的原因是,預設情況下,H2 在使用 Hypernate 的 hbm2ddl 功能建立表後關閉資料庫連線。

要解決此問題並保留資料庫內容,請將連線URL 修改為以下格式:

<code class="text">jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</code>

此參數指示H2 只要Java 虛擬機器(JVM) 運行,就保持記憶體資料庫打開。透過在 URL 和參數之間新增分號 (;) 而不是冒號 (:),您可以指定其他參數。

如文件所述,「關閉與資料庫的最後一個連線將關閉資料庫。對於記憶體資料庫來說,這表示內容會遺失。」透過設定DB_CLOSE_DELAY=-1 參數,可以確保資料庫在JVM終止前保持開啟狀態,即使在連線關閉後也能保留資料。

以上是為什麼 H2 記憶體資料庫會出現「找不到表格」錯誤以及如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn