これから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の機能ではありませんが、これをちゃんと 使いこなすと実装が非常に楽になります。