DBFluteならでは紹介

これからDBFluteをご利用される方に、
「せっかくDBFluteを使うのだからこれは使って欲しい」
というような機能をご紹介します。

無論、全部といえば全部なのですが、それでは話にならないので、
絞った形でシブいのを紹介します。


A. ログの設定をしてデバッグしやすい開発を

http://dbflute.sandbox.seasar.org/contents/setup/logging.html
に書かれていることです。
忘れやすいのが、自動生成されたクラス(つまりアプリのクラス)に
対するロギングの設定です。これをしないと、DBFluteのログは
コンソールに出力されません。

ログが見やすい形でちゃんと設定されているかいないかで、
デバッグ効率は大きく左右されます。特にDBFluteでは
ログを大事にしていますので、ぜひとも設定を!


B. 共通カラムの自動設定

http://dbflute.sandbox.seasar.org/contents/setup/commoncolumn.html
に書かれていることです。
しっかり設定するのとしないのでは、
更新系の処理での実装効率が大きく違います。


C. 区分値の解決

http://dbflute.sandbox.seasar.org/contents/setup/classification.html
に書かれていそうで書いてないことです。
「現場ソリューション DBFlute」へのリンクがありますので、
そちらの記事をご覧ください。
最初の設定はちょっと面倒ですが、一度してしまえば後の
実装がとても楽になります。

http://d.hatena.ne.jp/jflute/20081030/1225369128
こちらの機能を使うことで、ERDのコメント上の区分値定義と
DBFluteでの区分値設定をリンクさせることも可能です。


D. CBのSubQuery

主に子テーブルに対するアプローチです。
CBは、
「簡単なSQLをサポート」というよりかは
「定型的なSQLをサポート」という思いが強いです。
代表的なのは:

o 子テーブルの条件で絞り込む
 http://d.hatena.ne.jp/jflute/20080724/1216913705

普通に業務アプリの検索で良く発生するかと思います。
実際に実装作業を行うディベロッパーの方にはぜひ
使いこなしてもらいたい機能であります。

「many-to-many」の関連を辿った検索条件も
「子テーブルの(別の)親テーブルの条件で絞り込む」
と同義であり、ExistsReferrerの範疇です。


E. CBで取得カラムの指定

CB(SQL自動生成)だからといって、テーブルのカラム全てを
取得しなければならないわけではありません。
パフォーマンス向上のために必要なカラムだけを明示的に
指定して検索したい場合は、SpecifyColumn機能を使います。
http://d.hatena.ne.jp/jflute/20080625/1214329516


F. Eclipseでキャメルケース補完

http://d.hatena.ne.jp/jflute/20081208/1228712085
に書かれていることです。
DBFluteの機能ではありませんが、これをちゃんと
使いこなすと実装が非常に楽になります。