2

私はプロジェクトでhsqlを使用しています(もちろん埋め込まれています)。ある時、休止状態が生成しているものを視覚化する必要があると感じました。私はdbvisualizerの無料コピーを取りました。ここにhsqljdbc.propertiesがあります

jdbc.url=jdbc:hsqldb:file:mydb;create=true
hibernate hbm2ddl.auto=create

hsql 1.8.0_10 をダウンロードしました。必要な手順をすべて実行しました。接続してテーブルを表示できましたが、その後、テーブルに加えられた変更が表示されないようです。その後、データベースを削除しようとしましたが、新しいデータベースを生成しましたが、それでも.これで何か考えはありますか?

私は通常 Derby ですが、関係管理についてはそれほど正確ではないことに最近気付きました。現在、開発には適していない mysql を使用しています。これを読んでくれてありがとう

4

3 に答える 3

8

開発とテストに HSQLDB を使用する方法については、新しいガイドで詳しく説明しています。

http://hsqldb.org/doc/2.0/guide/deployment-chapt.html#dec_app_dev_testing

HSQLDB はデフォルトで書き込み遅延メカニズムを使用し、バージョン 1.8.x では 10 秒後、バージョン 2.0 以降では 0.5 秒後に変更がディスクにフラッシュされます。

次の URL を使用して、最後の接続が閉じられたときに、データベースを強制的にシャットダウンし、すべての変更を書き込むことができます。

jdbc.url=jdbc:hsqldb:file:mydb;shutdown=true

HSQLDB 2.x では、write_delay プロパティを使用して、各コミットを強制的にディスクに即座に書き込むことができます。

jdbc.url=jdbc:hsqldb:file:mydb;hsqldb.write_delay=false

バージョン 2.2.9 以降では、最後の接続が閉じられたときに最新の変更が保持されるためhsqldb.write_delay=false、接続を閉じるテストには使用する必要がない場合があります。

HSQLDB 1.8 では、これを行うために最初に SQL コマンドを実行する必要があります。

WRITE_DELAY を FALSE に設定

于 2010-09-18T11:56:36.267 に答える
1

デフォルトでは、HSQLDB はデータベースがシャットダウンされるまでテーブルの内容をメモリに保持します: http://www.hsqldb.org/doc/guide/ch05.html#N10DD6

ニーズによっては (開発環境での作業など)、これで十分な場合があります。ただし、本番環境では、各変更をディスクの複数の場所に書き込む DBMS を使用したいと考えています (私の場合は Oracle ですが、MySQL もおそらく同様に機能します)。

于 2009-11-12T21:11:22.503 に答える