[解決済み】H2インメモリデータベース。テーブルが見つからない
質問
H2データベースで、URLは
"jdbc:h2:test"
. を使用してテーブルを作成します。
CREATE TABLE PERSON (ID INT PRIMARY KEY, FIRSTNAME VARCHAR(64), LASTNAME VARCHAR(64));
. そして、この(空の)テーブルから、次のようにしてすべてを選択します。
SELECT * FROM PERSON
. ここまでは順調です。
しかし、URLを
"jdbc:h2:mem:test"
データベースがメモリ内にあることだけが違いますが、この場合は
org.h2.jdbc.JdbcSQLException: Table "PERSON" not found; SQL statement: SELECT * FROM PERSON [42102-154]
. 私はおそらくここで何か簡単なことを見逃している、しかし、任意のヘルプは感謝されます。
解決方法は?
DB_CLOSE_DELAY=-1
hbm2ddl はテーブルを作成した後、接続を閉じるので、h2 はそれを破棄します。
このようにconnection-urlが設定されている場合
jdbc:h2:mem:test
の場合、最後の接続を閉じた瞬間にデータベースの内容が失われます。
コンテンツを保持したい場合は、次のようにURLを設定する必要があります。
jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
そうする場合。 h2 を指定すると、そのコンテンツは vm が生きている。
セミコロンに注目してください (
;
ではなく、コロン (
:
).
をご覧ください。 インメモリデータベース セクションの 特徴 のページをご覧ください。引用すると
デフォルトでは、データベースへの最後の接続を閉じると、データベースが閉じられます。インメモリデータベースの場合、これはコンテンツが失われることを意味します。データベースを開いたままにしておくには
;DB_CLOSE_DELAY=-1
をデータベースURLに追加してください。仮想マシンが生きている限り、インメモリデータベースのコンテンツを保持するには、以下のようにします。jdbc:h2:mem:test;DB_CLOSE_DELAY=-1
.
関連
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] Java - JTextFieldが空かどうかを確認する
-
[解決済み] 要素 'beans' の宣言が見つかりません。
-
[解決済み] ORA-01654: インデックスを拡張できません。
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] 文字列の長さに応じて文字列をトリミングする
-
[解決済み] Spring ApplicationContext - リソースリーク: 'context' が閉じられない
-
[解決済み] java.io.IOException。DER長の短い読み取り
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Java - JTextFieldが空かどうかを確認する
-
[解決済み] この配列の中の数字を入れ替えるには、何が足りないのでしょうか?ジャバ
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] 型の不一致:ArrayListからListへの変換ができない
-
[解決済み] eclipseからTomcatに物理的に発行されるmyjspはどこにあるのでしょうか?
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] publicId と systemId の間に空白が必要です。
-
[解決済み] 文字列の長さに応じて文字列をトリミングする