[Seasar-user:1959] Re: S2Dao の自動生成insert文でDBの現在日付を使う

nakamura toshihiro taedium
2005年 5月 12日 (木) 01:22:19 JST


中村です。

> もし、DBDEFAULTアノテーションを作るなら、上記の仕様で良いと
> おもうのですが、結局CURRENT_DATEを使う局面って
> 作成日だとか更新日だとかになることが多いと思うのですが、
> その場合、insertとupdateで処理を変える必要が出てきます。
> 例えば作成日は、insertの時だけ値をいれて、更新では何もしないだとか。

そうです。だいたい作成日や更新日ですね。
insertとupdateで処理を変えるにはリンクで示していただいた
NoPersistentPropsAnnotationを使って設定すればいいかなと思っていたの
ですが、DBDEFAULTアノテーションに適用条件(updateのときだけ対象など
)を一緒に指定できたほうがきっと便利でしょうか。

> DBのデフォルト値は、DBには反映されますが、JavaBeansには反映されないことを
> 考えると、プログラムで設定したほうがいい気もします。

制約がなければプログラムで設定したいところですが、
S2Daoを適用しようとしているシステムの方針でどうしても
DBから値を取得する必要があるので、アノテーションでDBの関数を指定
したいと思っています。

あとDBDEFAULTアノテーションが欲しいもうひとつの理由としては
複数のDBに対応するときに、DBごとに特有の関数を置きかえたい
場合があるからです。
DBDEFAULTアノテーションがあれば関数の違いに対して別個のsqlファイル
を用意することなく対応できて便利なのではと期待しています。
(できるだけプログラムで吸収するのが得策なのかもしれませんが...)
この場合、JavaBeanのプロパティがDBの関数の引数になってくれるといいですね。

よろしくお願いします。
--
Nakamura Toshihiro






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