H2 インメモリ データベースで「テーブルが見つかりません」エラーが発生する理由とその修正方法

Patricia Arquette
リリース: 2024-10-26 03:21:03
オリジナル
881 人が閲覧しました

 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>
ログイン後にコピー

このパラメータは、Java 仮想マシン (JVM) が実行されている限り、インメモリ データベースを開いたままにするように H2 に指示します。 URL とパラメーターの間にコロン (:) の代わりにセミコロン (;) を追加すると、追加のパラメーターを指定できます。

ドキュメントに記載されているように、「データベースへの最後の接続を閉じると、データベースが閉じられます。インメモリ データベースの場合、これはコンテンツが失われることを意味します。」 DB_CLOSE_DELAY=-1 パラメータを設定すると、JVM が終了するまでデータベースが開いたままになり、接続が閉じられた後でもデータが保持されます。

以上がH2 インメモリ データベースで「テーブルが見つかりません」エラーが発生する理由とその修正方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!