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

Jun Futagawa [E-MAIL ADDRESS DELETED]
2013年 7月 14日 (日) 15:53:22 JST


ふたがわ (jfut) です。

On 2013/07/14 10:49, kubo wrote:

> 一応、似たような機能を実装した経験者ということで、
> 何かの参考になればなぁと。

コメントありがとうございます。
DBFlute ではサポートされていたんですね。

> DBFluteでは includes() だけサポートしています。
> 正確には「共通カラムだけ除外」とかテーマ的な除外はありますが、
> プロモーション的にも includes() が前面に出ています。
...
> ということで、includes() だけに落ち着いています。
> しかも、「普段は使わない、いざってときに使う機能」
> というニュアンスもドキュメントに入れています。

たいしたデータ量しか帰ってこない検索では使わない方が
安全で良いですね。

最初は includes() 優先で excludes() はおまけな気持ちでしたが
小林さんにコメントいただいて、「department 以下は全部取得するけど
department.name だけは除外する」ができた方が便利だなと思い、
さらに改良してみました。
(他にもダメなところがいろいろありましたし、まだダメかもしれませんが)

> Entityという形で取得している以上、
> あのカラムは取ってる取ってないってなると、
> 特にLogicなどの再利用領域で使ってると、
> メソッドの利用側がややこしくなるかもという考慮もあり。

そうですね、一応ドキュメントに注意を書いてみましたが、
下手に使うと除外したプロパティが更新時にすべて空で
上書きされるという残念なことが起きますね。

> でも、S2JDBCを使うとなったら個人的には欲しい機能ではありますね。
> (今後「CBならでは機能ですっ」みたいな紹介ができなくなりますがw)

はい、自分が欲しい機能でした。
「CBならでは機能ですっ」は取り込まれたらすいませんっ。

-- 
Jun Futagawa


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