seasar-dotnet-ML で話題になっていますが、 次のバージョン(DBFlute-0.9.7.5, DBFlute.NET-0.8.9.20)より、 業務的one-to-oneの固定条件、つまり fixedCondition にて、 localTable や foreignTable 以外のテーブルのカラム、 別リレーションのカラムを利用できるようになります。 (この記事の時点では SNAPSHOT にて公開) 詳しくは、ドキュメントにて: 業務的one-to-one - 別リレーションのカラム利用 概念が難しいので、そういう構造に出会ったことのある人でないと、 メリットがあまり伝わらないかもしれませんが、いざピッタリ合致 したときは便利でしょうがないと思います。
そして、それは「業務的one-to-one」自体に言えること。 地味ですが、まさしく「DBFluteならでは」と言える機能です。 そもそもこの領域を定型化しようという概念があまり認知されて いません。概念にはっきりした名前も付いていないので、 なかなか共有知になりにくいという面もあります。 以前の記事で「こういうことよくあるなぁ」という 「やりとり」を紹介しています。 // jfluteの日記:C#版でもfixedConditionでバインド変数 http://d.hatena.ne.jp/jflute/20090101/1230736084 「業務的one-to-one」という名前が良いかどうかは別にして、 少なくともDBFluteユーザ同士では、すぐに構造を相手に伝える ことができるし(一度勉強してれば)、DBFlute使わないプロジェクト でも、その概念に対して明確なアプローチができるはずです。 DBFluteで実装便利、だけでなく、DBFluteの機能を通して、 DBアクセスのエッセンスを学ぶのに役に立てばと思っています。 # # 辞書のような感じ、そう、実際に jflute 自身、DBFluteを # 「DBレイヤにおける数多くの概念を調べる辞書」のように # 使っています。DBFluteを使ってないプロジェクトに # 行ったときにも、DBFluteの機能を思い出して照らし合わせて、 # このプロジェクトがこの問題についてどういうアプローチしてる # かなぁ、してないならじゃあどうするかなぁ、という感じで。 # チェックリストのような感じですね。 # (共通カラムどう扱ってるかな、区分値定義は統一されてるかな、 # 業務的one-to-oneは...排他制御は...ページングは... # カーソル検索は...曖昧検索のエスケープ処理は... # 日付範囲の条件指定(DateFromTo)の指針は...) # @DBFlute-0.9.7.5, Java, DBFlute.NET-0.8.9.20, C#