[Seasar-user:4937] Re: [S2Dao]update 文の更新項目の動的な制御について
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2006年 10月 26日 (木) 11:06:50 JST
ひがです。
> 瀧と申します。
>
> S2Daoのupdate文についてご意見を頂きたくメールしました。
>
> S2Daoはupdate文もSQLを自動生成する機能がありますが、
> 実際には更新したくない項目が更新パターン毎あります。
>
> update.sqlの例
> -------------------------------------
> UPDATE USER_INFO
> SET
> /*IF model.ADDRESS != null*/
> ADDRESS=/*model.ADDRESS*/,
> /*END*/
> /*IF model.TEL != null*/
> TEL=/*model.TEL*/,
> /*END*/
> /*IF model.EMAIL != null*/
> EMAIL=/*model.EMAIL*/,
> /*END*/
> UPD_DT = SYSTIMESTAMP ←この行があるから助かっている
> WHERE
> USER_ID = /*model.USER_ID*/
> AND TIMESTAMP = /*model.TIMESTAMP*/;
Nullじゃないプロパティだけ更新したいということなら、
まもなく、UnlessNull更新機能が追加されます。
@UnlessNull
int update(Model model);
のように記述するとnullじゃない項目のみ更新します。
定数アノテーションだと
public static final boolean update_UNLESS_NULL = true;
int update(Model model);
アノテーションの名前だとか、もっと良いアイディアが
あれば募集します。
個人的には、updateのメソッド名がUnlessNullで
終わっていたらでも良い気がするのだけど。
int updateUnlessNull(Model model);
Yasuo Higa
The Seasar Project
Seasar-user メーリングリストの案内