昨日の補足

http://d.hatena.ne.jp/Horiuchi_H/20080619/1213855066
昨日のEntryに以下の用なコメントをいただきました。

koichikkoichik 2008/06/19 20:30
> UpdateTime等のカラムを getdate()関数の値で UpdateやInsert

それはトリガでやるのが定番のような.

あまりDBを使うシステムを見てきていないので分からないのですが、対象テーブル全てにトリガを設定するよりO/Rマッパーがやってしまった方が楽じゃないかな?と思ってました。
それと Railsで、"created_at" とか "updated_at"とか カラム名を付けておくと勝手に更新してくれるので、それの真似でもあります。

getdate()関数について

昨日のEntryだと、何の説明もなく出てきて SQLに埋め込んでますが MySQLPostgreSQLOracle ではそのままじゃ使えません。
実は以下のような ストアド・ファンクションを各DB向けに定義してました。

MySQL

CREATE FUNCTION getdate() RETURNS TIMESTAMP
    RETURN NOW() ;

PostgreSQL

CREATE FUNCTION getdate() RETURNS TIMESTAMP AS
'
BEGIN
    RETURN now() ;
END ;
'
LANGUAGE 'plpgsql' ;

Oracle

CREATE FUNCTION getdate() RETURN TIMESTAMP IS
BEGIN
    RETURN sysdate ;
END ;

ここも、S2JDBCならそれぞれのDB向けに Dialectで実装した方が良いんでしょうけど、インターフェイスから変更が必要そうだったので、今回はやってません。