seasarのS2DAOについての質問です。

レコードを更新する時、更新日時、更新者の値を自動で設定してくれる機能はありませんか?(または、共通処理を作る場合、どのような感じがよいでしょうか?)

例えば、①を②のようにしたいです。(更新者は、セッションにユーザー情報を持っているという前提で)


Address address = getAddressById(id);
address.setZip("123");
address.updateUser("HOGE");
address.updateDate(new Date());
addressDao.update(address);


Address address = getAddressById(id);
address.setZip("123");
addressDao.update(address);

よろしくお願いします。

回答の条件
  • 1人10回まで
  • 登録:2010/02/02 01:03:31
  • 終了:2010/02/06 00:53:30

ベストアンサー

id:skimura No.1

skimura回答回数11ベストアンサー獲得回数32010/02/05 21:08:43

ポイント60pt

そういう機能はないので、

Interceptorを作成し、

Daoのinsertやupdateメソッドの引数からBeanを取得し、

その取得したBaenに値を設定するようにすると良いと思います。

作成したInterceptorはDaoに対して設定します。


http://s2container.seasar.org/2.4/ja/aop.html#OriginalIntercepto...

id:nemutaiyo

Interceptorですか!それは全く考えていなかったです。明日試します!

#尚、初めてシーサーを使うことになり、まだ不明なところがたくさんあります。今後もご回答頂けると大変助かります。

#シーサーはまだまだ良く分かっていませんが、Springとかに比べても、かなり便利だと実感しています。

2010/02/06 00:52:45

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません