[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 メーリングリストの案内