- PR -

Hibernate POJOでのsysdate使用方法

1
投稿者投稿内容
たか
会議室デビュー日: 2006/04/14
投稿数: 9
投稿日時: 2006-06-06 15:09
いつもお世話になっております。

現在、HibernateでのWebアプリケーション構築を検討しております。

テーブルにPOJOをマッピングし、update、またはsaveメソッドを
実行したときに、最終更新日カラムにoracleのsysdateを
設定しようと考えておりますが、実装方法(マッピング定義ファイルの
記述方法?)を見つけられず困っています。

O/Rマッピングの思想から言えば、POJOの最終更新日プロパティに
システム日付を設定するのが正しい方法かも知れませんが、
既存のシステムとの整合性もあり、日付関連はoracleのsysdateを
使用するという制約があります。

どなたか、解決方法をご存知の方がおられましたらご教授頂ければと
思います。

どうぞ、よろしくお願い致します。

[ メッセージ編集済み 編集者: たか 編集日時 2006-06-06 15:10 ]
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2006-06-06 15:48
トリガーで更新するという方法はどうでしょうか?

POJOに値を戻すとなると、もう一工夫必要でしょうけど。
たか
会議室デビュー日: 2006/04/14
投稿数: 9
投稿日時: 2006-06-06 16:16
koeさん

早速のご返事、ありがとうございます。

Oracleのトリガやdefault指定なども検討してはみたのですが、
既存のシステムで動作しているテーブルへのアクセスのため、
できればDBの変更は行わない方向で検討しております。

どうにかしてHibernateの機能で実装できないものでしょうか・・・・。
もっくん
会議室デビュー日: 2003/05/22
投稿数: 2
投稿日時: 2006-06-07 00:56
登録・更新直前にJava側でoracleのsysdateを取得して、その値を最終更新日カラムに設定するんじゃダメなんでしょうか?sysdate取得のSQLが余計に発行されてしまいますが。レスポンスにそれほど影響がなければどうですか?
LifecycleやInterceptorインタフェースとかを合わせて使えるかもしれません。使ったことはないんで、使い方間違ってたらごめんなさい。
たか
会議室デビュー日: 2006/04/14
投稿数: 9
投稿日時: 2006-06-09 14:26
もっくんさん

ご返答ありがとうございます。

やはり、Sysdateを事前に取得してPOJOに設定するやり方が
現実的なようですね。
ご意見、どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)