内蔵データベース(HSQLDB)

最終更新日: 2020年3月14日

仕様および制約

HSQLDBは開発時に用いる簡易データベースとして同梱しています。本番運用のアプリケーションで利用することは非推奨です。

  • すべてのデータはメモリ内で管理されます。この仕組みのため、登録データ数の上限は、本番機に搭載されているメモリ容量によって変わります。
  • Web アプリケーションの終了時に、メモリ内のデータがファイルとして出力されます。このため、不意の停電などで Web アプリケーションが停止した場合、メモリ内のデータは消失します。Wagby の標準機能であるデータエクスポートを定期的に行うことで、データのバックアップを取得するようにしてください。
  • Web アプリケーションの起動時に、すべてのデータをメモリ内に読み込みます。このため、格納データ量が多い場合、起動時間が長くかかります。
  • データベースファイルが何らかの理由で破損した場合は、いったん初期化したあと、最後にエクスポートされたデータを復元することで復旧させてください。

型のマッピング

すべての型は Java の内部機構(int, float などの基本型および java.lang.String などの標準クラス)として扱われます。

起動と停止

Tomcat の起動・停止のタイミングで自動的にデータベースも起動および停止します。

物理ファイルの位置

本体(プログラム)

hsqldb の本体(プログラム)は $(DEVHOME)\env\lib-common\hsqldb.jar になります。ビルド後は wagbyapp\lib\hsqldb.jar に配置されます。このプログラムが JDBC ドライバも兼ねます。

データベースファイル

データベースの物理ファイルは wagbyapp\webapps\$(APPNAME)\WEB-INF\data\$(APPNAME)db.script です。標準は wagbydb.script です。

ファイルはテキスト形式です。テキストエディタを用いて内容を確認することができます。

バックアップ

物理ファイルをバックアップする場合は、同フォルダ上の .script および .properties ファイルの両方を保存してください。

参考資料

HSQLDBの詳細情報は http://hsqldb.org/ をお読みください。