2013-08-08 21 views
9

私は、タイムスタンプ(timeOfProcessing TIMESTAMP)を含むテーブルを持つPostgresデータベースを持っています。Java日付に基づいてPostgresにタイムスタンプを保存する

私はJavaの日時の値(java.util.Date dateTime)を持っていて、その値をそのタイムスタンプのフィールドに(タイムゾーンなしで)保存したいとします。私が保存された値(SELECT timeOfCreation FROM mytable)を読んで、クエリ

"INSERT INTO mytable(..., timeOfCreation, ...) VALUES(..., to_timestamp(" + Long.toString(dateTime.getTime()) + "),...)"

、その後を使用してそれを行うと

は、彼らが(resultSet.getTimestamp(...).getTime()dateTime.getTime()と等しくない)異なっています。

datetimeを正しく格納するには、insert文をどのように変更する必要がありますか?挿入するとき

答えて

20

、代わりに(dateTime).getTime()を使用しての、SQLのタイムスタンプオブジェクトを使用します。new java.sql.Timestamp((dateTime).getTime())

+1

方法ORMとその仕事でしょうか? – Sarief

+0

@Sarief非常に単純にORMを使用しません。 SQLを受け入れ、ORMの怪物から遠ざけてください。 –

関連する問題