[Seasar-user:21677] Re: S2JDBC の AutoSelect への includes() と excludes() 実装

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2013年 7月 20日 (土) 11:06:13 JST


小林 (koichik) です.

パッチを取り込んでコミットしました。
スナップショットをデプロイしたのでご確認ください。

http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-framework/2.4.47-SNAPSHOT/s2-framework-2.4.47-20130720.013055-7.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-extension/2.4.47-SNAPSHOT/s2-extension-2.4.47-20130720.013055-1.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2-tiger/2.4.47-SNAPSHOT/s2-tiger-2.4.47-20130720.013716-1.jar
http://maven.seasar.org/maven2-snapshot/org/seasar/container/s2jdbc-gen/2.4.47-SNAPSHOT/s2jdbc-gen-2.4.47-20130720.013958-2.jar

パッチを適用してから気づいたのですが、重複する
機能として既に eager() がありました。
# すっかり忘れてました。。。 心より恥じる。

http://s2container.seasar.org/2.4/ja/s2jdbc_manager_auto.html#指定したプロパティをフェッチ対象にする

excludes() 相当をアノテーションでしか指定できない
というか、アノテーションで excludes() のデフォルトを
設定できるというか。

重複してるので両方が絡むとちょっとややこしくて、
元のパッチだと

.includes("foo", "lazy") // foo と lazy が欲しい (eager 忘れ)

とか

.includes("foo") // foo と
.eager("lazy")   // lazy が欲しい (includes 忘れ)

としても lazy は取得されず、

.includes("foo", "lazy")
.eager("lazy")

と指定する必要がありました。
これは落とし穴にしか見えないので、includes() を
指定した場合は eager() を指定しなくても済むように
修正して、ドキュメントには両方を混ぜて使わないよう
記載しました。
# eager() 本体の説明より注意点が長くなった。。。
# でも混ぜて使わなければややこしいことはないはず

ドキュメントの includes/excludes 追加位置も eager() の
直前にしました。

些細なことですが、ドキュメントなどで includes() 等が
join() より前にあったのですが、includes() の指定は
join() で指定した関連名を使えるので、後の方に移動
しました。
# SQL 書く時も SELECT 句は後で書く方が楽だし。



On Wed, 17 Jul 2013 12:12:58 +0900, Jun Futagawa <jfut @ integ.jp> wrote:

> ふたがわ (jfut) です。
> 
> On 2013/07/17 4:01, Koichi Kobayashi wrote:
> 
> > それでは終末^h^h週末にでも取り込みます。
> > # 他のコミッタで時間ある人がいるならそれまでに
> > # やってくれても構いません。
> 
> ありがとうございます、よろしくお願いします。
> 
> -- 
> Jun Futagawa
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user


-- 
{
  name: "Koichi Kobayashi",
  mail: "koichik @ improvement.jp",
  blog: "http://d.hatena.ne.jp/koichik/",
  twitter: "@koichik"
}



Seasar-user メーリングリストの案内