web-dev-qa-db-ja.com

Java 8 Java.time.InstantのHibernate @Temporal

Hibernateを使用して、次のことを試みます。

@Temporal(TemporalType.DATE)
@Column(name = "BIRTHDAY")
private Instant birthday;

しかし、この例外があります:

Caused by: org.hibernate.AnnotationException: @Temporal should only be set on a Java.util.Date or Java.util.Calendar property:

提案されたように、私は使用しようとしました

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-Java8</artifactId>
    <version>${hibernate.ver}</version>
</dependency>

ただし、同じ例外があります。追加の手順を実行する必要がありますか、またはそのようなケースを解決する方法はありますか?

20
Dmitry Adonin

@TemporalをJava 8時間で使用することはできません。時間付きの日付が必要な場合はLocalDateTimeを使用し、日付のみを使用する場合はLocalDate@Temporalアノテーション。

こちらもご覧ください http://www.thoughts-on-Java.org/persist-localdate-localdatetime-jpa/

35
HAYMbl4