2009-08-26 41 views
4

レコードが最初に挿入されたときにNULLに設定されたTIMESTAMP列がテーブルにあります。私は現在の時刻に値を更新したいと思います。私の生成されたエンティティは、次のようなフィールドの設定方法があります。JPA永続化時にTIMESTAMPフィールドをCURRENT_TIMESTAMPに設定しました

setCloseDate(Timestamp closeDate) 

私は生成しないが/ Javaコードからタイムスタンプを指定します。エンティティを永続化するときにデータベースレベルで現在の時刻を使用するように属性に注釈を付ける方法はありますか?

もしそうでなければ、このようなアップデートを実行するための良い戦略は何でしょうか?私が実行したいクエリは、このようなものですカバーの下

update CASE_FILE set CLOSE_DATE=CURRENT_TIMESTAMP where ID=1 

私はJPAを使い始めるよ...ので、ここではかなり何かを明らかに不足していることができます。ありがとう!

+0

これはhttp://stackoverflow.com/questions/221611/creation-timestamp-and-last-update-timestamp-に似ていますwith-hibernate-and-mysqlを実行します。 – Rick

+0

それはその質問に似ていますが、それは同じ質問ではありません。なぜなら、質問は常に最新の更新されたタイムスタンプだからです。これは別の日付フィールドを保存することですが、データベースサーバーの現在のタイムスタンプアプリケーション・サーバー。 –

答えて

5
現在のタイムスタンプ列であなたのJPAエンティティクラスの使用次のコードで

@Column(name = "timestamp", nullable = false, updatable = false, insertable = false, columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP") 
public Timestamp timestamp; 
関連する問題