3

jdbc 操作に Spring JDBC テンプレートを使用しています。BeanPropertySqlParameterSource を使用しているため、Bean の START_TIME 変数には java.sql.date 型が割り当てられます。Oracle dbでは、列は「DATE」タイプとして言及されています(データベースが10.2バージョンであっても、TIMESTAMPタイプはありません)

今私が設定したとき

bean.setStartTime(new Date(System.currentTime()) 

日付と時刻のスタンプを 00:00:00 として保存しています

タイムスタンプも保存する方法を教えてください。

4

2 に答える 2

7

You need to use java.sql.Timestamp

 bean.setStartTime(new java.sql.Timestamp(...))

java.sql.Date removes the time part

From the Javadocs:

To conform with the definition of SQL DATE, the millisecond values wrapped by a java.sql.Date instance must be 'normalized' by setting the hours, minutes, seconds, and milliseconds to zero in the particular time zone with which the instance is associated.

于 2012-07-25T10:04:32.600 に答える
0
java.util.Date today = new java.util.Date();
java.sql.Date d=new java.sql.Date(today.getTime());
于 2014-03-07T13:32:21.470 に答える