1

単純な Web アプリケーションにH2 データベースを使用しています。

H2 コンソールの Web ブラウザーを介してデータを表示しようとすると、データベース内の最新のデータで更新されないようです。

例えば:

Web アプリを使用してテーブルに新しいレコードを追加しselect *ましたが、レコードを追加したテーブルから を実行すると、新しいレコードが表示されません。

ブラウザ経由で H2 コンソールに接続するときのログインには、次の設定があります。

保存された設定: Generic H2 (埋め込み)

設定名: Generic H2 (埋め込み)

ドライバー クラス: org.h2.Driver

JDBC URL: jdbc:h2:file:/Develops/Databases/snowy_db;FILE_LOCK=NO

H2 コンソール ブラウザを使用してデータベースから最新のデータにアクセスする方法について何かアイデアはありますか?

前もって感謝します。

編集

追加するだけ: Web アプリで新しいレコードを表示できますが、H2 コンソール ブラウザーを使用すると表示されません。

4

1 に答える 1

2

FILE_LOCK=NOあなたの問題はオプションだと思います。ドキュメントには、それについて次のように記載されています。

データベース ファイルを保護するのはアプリケーション次第です。そうしないと、データベースが破損します。[...] 別のプロセスが同じデータベースを開くことができ、データの破損につながる可能性があるため、これは安全ではないことに注意してください

自動混合モードのような、より洗練された H2 モードを使用することを強くお勧めします。このモードでは、特定のデータベースに接続する最初のアプリケーションがソケット サーバーを開き、それ以降、他のアプリケーションからこのデータベースに接続しようとするたびに、生のファイル システム アクセスではなくソケット接続が使用されます。

これに満足できない場合は、H2 をスタンドアロン サーバーとして個別に実行するか、Seam アプリケーション内で実行してください。localhost次に、TCP 接続を介して接続するように JDBC URL を変更します。

于 2011-02-16T18:00:05.543 に答える