2017-07-17 6 views
0

エンティティが作成または更新されるたびにタイムスタンプを保存しようとしています。hibernateのタイムスタンプの書式設定

@CreationTimestamp 
@Column(name = "created_At") 
private Date createdAt; 

@UpdateTimestamp 
@Column(name = "updated_at") 
private Date updatedAt; 

問題は、タイムスタンプをUNIXの時刻形式で保存することです。私はそれをフォーマット "yyyy-MM-dd HH:mm:ss"で保存したい。

@PrePersistと​​注釈を使用してこれを試しましたが、何らかの理由でエンティティの作成/更新時にメソッドが呼び出されません。

フォーマットを制御する他の方法はありますか? 注:関係があるかどうかわかりませんが、Springフレームワークを使用しています。

答えて

0

データをDBに保存します。 DBは、日付フィールドを常にEPOCなどのmilisecondsなどの内部形式として格納します。それを読んでそれが望むどんなフォーマットでも表示するのはクライアントの責任です。 JavaでDateフィールドを読み込んだら、それを表示する前に任意の方法で日付をフォーマットすることができます。同じDBビューアを使用しています。通常、日付フィールドを任意のフォーマットでDBに表示するように設定できますが、内部的にはDB内部フォーマットで保存されます。