[Seasar-user:16539] Re: [SAStruts]java.sql.Date型でデータの時刻部分が消えてしまう

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 12月 19日 (金) 22:22:21 JST


小林 (koichik) です.

Date:    Fri, 19 Dec 2008 20:30:38 +0900
From:    須賀祐一 <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:16538] [SAStruts]java.sql.Date型でデータの時刻部分が消えてしまう

> エンティティクラスで日付時刻を"java.sql.Date"で宣言した場合、
> 時刻のデータが無くなってしまいます。

java.sql.Date は標準 SQL の DATE 型に相当する,
日付のみを保持するためのクラスです.
# Oracle の DATE 型とは異なります.

同様に java.sql.Time は時刻のみを保持するクラスで,
日付と時刻を保持するのは java.sql.Timestamp です.

java.util.Date を使って日付と時刻を保持する場合は

                       vvvvvvvvv
@Temporal(TemporalType.TIMESTAMP)
@Column(nullable = true, unique = false)
public java.util.Date beginningDate;

となります.

http://s2container.seasar.org/2.4/ja/s2jdbc_entity.html#時制定義

java.sql.〜 型を使う場合は @Temporal を
指定する必要はありません.
指定しても無視されます.
日付と時刻を保持するなら,

@Column(nullable = true, unique = false)
public java.sql.Timestamp completionDate;
                ^^^^^^^^^

となります.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内