HSQLDBをスタンドアロン(ファイル)モードで使用

hsqldbスタンドアロンモード(ファイル)で使用していたときに、ものすごく阿呆なことで長らくはまっていたのでメモ。

hsqldb の使用を終了するときには、SQL で "SHUTDOWN" を実行するか、あるいは接続時のURLに shutdown=true をつけておく必要があります。
これをしておかないと、メモリに溜めこんでいる内容をファイルに書き出さないまま終了してしまうのか、変更内容がファイルに保存されないままになります。

  statement.execute("SHUTDOWN");

または、

  DriverManager.getConnection("jdbc:hsqldb:file:foobar;shutdown=true");