DBMeta

DBMetaとは?

EntityごとのDBのメタデータを保持するオブジェクトです。でーびーめた と呼びます。

Entityと同様に テーブル対応のDBMetaSQL対応のDBMeta と分けることができます。

テーブル対応のDBMeta
DomainDBMeta
SQL対応のDBMeta
CustomizeDBMeta

省略表記

Dbm (でーびーえむ)と略して表現されることがあります。主にクラス名などで利用されます。

自動生成される

Entityと同様に(同様のタイミングで)自動生成されます。但し、DBMetaのアプリ独自の拡張は許されていないため、ジェネレーションギャップにはなっていません。

DBMetaのクラス名

[Entityの名前] + Dbm という形式です。例えば、MEMBER なら MemberDbm。

基本的にはDBFlute内部用

基本的にはDBFlute内部用のクラスですが、幾つかのDBFluteの機能、または、アプリでメタ情報が必要になったときに利用します。 テーブル情報やカラム情報などの基本的なメタ情報以外のマイナーなメソッドに関しては、互換性が保たれない可能性があるのでご注意下さい。

DBMetaの利用

DBMetaは、全てシングルトンパターンで実装されています。

e.g. 会員のDBMetaインスタンスを取得 @Java
MemberDbm dbm = MemberDbm.getInstance();

テーブル情報

getTableDbName()
DB上で扱われている(そのままの)テーブル名
getTablePropertyName()
プログラム側で利用されるテーブルのプロパティ名
getTableSqlName()
SQLを発行するために最適化されているテーブル名。状況によってスキーマ名が付与されたり、クォートされたりする。主に Behavior や ConditionBean で自動で組み立てられるSQLで利用される。
getTableAlias()
テーブルの(主にローカル言語による)別名。オプションで利用できるようになる。
getTableComment()
テーブルのコメント。オプションで利用できるようになる。

カラム情報

TODO jflute now writing

DBMetaの構造

TODO jflute now writing