10

Hibernate 5 に更新して、既存の Date から LocalDateTime への変換を削除することにしました。Maven から hibernate-java8 アーティファクトをインストールしました。次に、休止状態のエンティティの日付時刻を

@Column (name = "mis_a_jour_au", nullable = false)
@Temporal (TemporalType.TIMESTAMP)
private LocalDateTime misAJourAu;

@Column (name = "envoi_au", nullable = false)
@Temporal (TemporalType.TIMESTAMP)
private LocalDateTime envoiAu;

この例外がスローされました

org.hibernate.AnnotationException: @Temporal は、java.util.Date または java.util.Calendar プロパティでのみ設定する必要があります

@Temporal を削除すると、例外が発生します

ClassCastException: java.util.Date を java.time.LocalDateTime にキャストできません

Java 8 + Hibernate 5 は LocalDateTime をサポートしていると思いましたか? お知らせ下さい。

4

2 に答える 2

4

その行を削除するだけ @Temporal (TemporalType.TIMESTAMP) です。それぞれの場合に定義します。

Hibernate 5 は LocalDateTime をタイプとして読み取り、データをタイムスタンプとしてデータベースに正しく挿入します。彼らが製品をリリースし、ドキュメントが続くという事実のため、現時点では多くの情報はありません.

于 2015-12-08T22:52:36.333 に答える
2
@Column(name = "updated", columnDefinition="DATETIME")
private LocalDateTime updated;

@Column(name = "created", columnDefinition="TIMESTAMP")
private LocalDateTime created;
于 2016-11-27T16:59:33.760 に答える