[seasar-s2dao-dev:41] Re: 更新したプロパティのみをUPDATE文に含める
kubo
jazzflute @ mbn.nifty.com
2006年 11月 24日 (金) 09:59:45 JST
久保です。
> と言いつつ実は手元では動いています。(コードは汚いですが...)
> EntityのsetterへAspectを仕掛けて更新したプロパティを記録する
> ことで、機能を実現しています。
>
> 例えば次の操作を行うと、
>
> final Emp emp = empDao.findById(7499);
> emp.setJob("MANAGER");
> empDao.updateModifiedOnly(emp);
Emp emp = new Emp();
emp.setJob("MANAGER");
empDao.updateModifiedOnly(emp);
できれば、ReadModifyじゃない方がうれしいかなと思いますが
(排他はTimestampやVersionNoがあるし)
これだと、ASPECTがかけられないんですよね・・・
ASPECTもOKですが、それに加えて、
EntityにSetterが呼ばれたか否かのフラグを
「ある規則で実装されていれば、それをみてUpdate文作る」
ってのはどうでしょうか?
(どうしてもReflectionになってしまいますが...)
--
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
kubo <jazzflute @ mbn.nifty.com>
jflute <http://d.hatena.ne.jp/jflute>
株式会社ビルドシステム <http://www.buildsystem.co.jp>
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
seasar-s2dao-dev メーリングリストの案内