ホームページ >Java >&#&チュートリアル >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 サイトの他の関連記事を参照してください。