JPA 对 Java 8 新日期和时间 API 的支持
我正在使用Java 8进行我的新项目。
我正在尝试在java 8中使用新的日期和时间API,但是我不知道是否完全支持这个新的日期和时间API。JPA 2.1
请分享您在JPA支持Java 8中新日期和时间API的经验/意见。
我可以在 Java 8 中安全地使用新的日期和时间 API 与 JPA 2.1 吗?
更新:
我使用Hibernate(4.3.5.Final)作为JPA实现。
我正在使用Java 8进行我的新项目。
我正在尝试在java 8中使用新的日期和时间API,但是我不知道是否完全支持这个新的日期和时间API。JPA 2.1
请分享您在JPA支持Java 8中新日期和时间API的经验/意见。
我可以在 Java 8 中安全地使用新的日期和时间 API 与 JPA 2.1 吗?
更新:
我使用Hibernate(4.3.5.Final)作为JPA实现。
对于休眠 5.X,只需添加
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-java8</artifactId>
<version>${hibernate.version}</version>
</dependency>
和
@NotNull
@Column(name = "date_time", nullable = false)
protected LocalDateTime dateTime;
无需任何额外努力即可工作。查看 https://hibernate.atlassian.net/browse/HHH-8844
更新:
请看一下Jeff Morin的评论:由于Hibernate 5.2.x就足够了
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.1.Final</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-...</artifactId>
<version>4.3.1.RELEASE</version>
</dependency>
请参阅 https://github.com/hibernate/hibernate-orm/wiki/Migration-Guide---5.2,并将Hibernate 5.2与Spring框架4.x集成
JPA 2.1 是在 Java 1.8 之前发布的规范,因此不强制要求对它的任何支持。显然,某些实现可能支持某些 Java 1.8 功能。有些在Java 1.8字节码(例如EclipseLink)方面存在问题。我知道DataNucleus支持java.time和Java 1.8,因为这是我使用的那个。您必须检查您的实现的支持级别。
已请求 JPA 2.2 支持 java.time 类型,请参阅此问题 https://java.net/jira/browse/JPA_SPEC-63