2010-12-29 24 views
0

データベース(Postgresql)に保存されているJava DateとHibernateを使用しています。私は休止状態で、私はGWTの日付ピッカー短い日付形式、すなわちYYYY-MM-DDを使用していますマッピングファイルGWT日付ピッカーpostgresqlでhibernateを使用してJava日付を保存するときのフォーマットの問題

<property name="DateOfBirth" type="java.util.Date"> 
      <column name="DATEOFBIRTH" /> 
</property> 

パート良いことはないです。私は

View.getUserDateOfBirth().getValue() 

を使用して、日付ピッカーから値を取得しています。しかし、私はそれが

2010-11-30 00:00:00 

の代わりとしてそれを保存しているdatebaseに日付2010-11-30を保存していたときに2010-11- 30

ですから、この形式でデータベースに保存します。2010-11-30 ??

タイムスタンプはたくさんありますが、構成できません。私はこの部分が

<property name="DateOfBirth" type="java.util.Date"> 
       <column name="DATEOFBIRTH" /> 
    </property> 

を変更する必要がありますが、DATEOFBIRTH列が日付、これは正しく、あなたの時間情報を格納していない場合は、私が

+0

PostgreSQLデータベースでどのような形式を指定しましたか? – Jla

答えて

1

はあなただけを指定しようとしたことがあり: - それは日付のみを格納DATE、あるべき

<property name="DateOfBirth" type="date"> 
       <column name="DATEOFBIRTH" /> 
    </property> 

をまた、さらに何pablochanに私はPostgresが使用しているものの列タイプをチェックしたい、と述べました。 TIMESTAMPの場合、日付と時刻の両方が格納されます。

+0

屋が、私はそれが問題のタイムスタンプだったと思うが、私はデータベースのレベルで何かを行うにはしたくない、私は私たちがエラーを取得するだけのJavaで動作し、休止状態や日付などのタイプを使用しているとき、すべてが休止状態 – Noor

+0

で生成したいですorg.hibernate。MappingException:型の決定に失敗しました:日付:テーブル:PERSONALUSER、カラム:[org.hibernate.mapping.Column(DATEOFBIRTH)] – Noor

+0

日付が残念ですが、タイプをtype =タイプ= "日付"だったはずの "日付"、大文字小文字は問題です、ありがとう – Noor

0

を変更するのか分からないが、あなたがそれを覚えていると思いますjava.util.Dateには時刻情報があります(タイムスタンプのようなものです)。データベースから日付を読み取ると、データベースに格納するときにそのデータが切り捨てられてから時刻が00:00:00に設定されます。

+0

だから、日付の値だけを取得することは可能です – Noor

+0

あなたはちょうど日付を取得しています。 DateFormatクラスを使用して出力を書式設定すると、時間部分が表示されなくなります。 – pablochan

0

時刻情報が必要ない場合は、java.util.Dateの代わりにjava.sql.Dateを使用できます。

0

Britishmuu答えが正しい場合は、type属性を使用して、この値を保持するためにJavaが使用するデータ型ではなく、Hibernateがデータベースで生成するデータ型を指定する必要があります。

この設定:

<property name="DateOfBirth" type="date"> 
    <column name="DATEOFBIRTH" /> 
</property> 

が日付タイプでdateOfBirthの名前の列を生成するために、Hibernateに教えてくれます:

CREATE TABLE "User" 
(
    "DATEOFBIRTH" date 
) 

値はその後、2010年11月30日としてデータベースに保存されます

関連する問題