当前位置: 首页 > 面试题库 >

JPA对Java 8新日期和时间API的支持

章誉
2023-03-14
问题内容

我将Java 8用于新项目。

我正在尝试在Java 8中使用新的日期和时间api,但是我不知道是否JPA 2.1完全支持此新的日期和时间API。

请分享您在JPA对Java 8中新日期和时间API的支持中的经验/意见。

我可以通过JPA 2.1安全地在Java 8中使用新的日期和时间api吗?

更新:

我正在使用Hibernate(4.3.5.Final)作为JPA实现。


问题答案:

对于Hibernate 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>


 类似资料:
  • 也许有人能给我举个例子?我在问自己,新的日期和时间API的改进来自哪里。

  • 我需要一些解释为什么这个代码不编译: 错误: 类型Duration中的(TemporalAmount)方法不适用于参数(ChronoUnit) 正如本文所述: public static Duration from(TemporalAmount amount)从时间量中获取持续时间的实例。这将根据指定的金额获得持续时间。TemporalAmount表示一个时间量,可以是基于日期的,也可以是基于时间

  • 问题内容: 我正在使用新的日期时间API,但是在运行时: 它抛出: 查看LocalDate类的源代码时,我看到: 如文档中所述: 此方法将根据类文档中描述的简单字母和符号模式创建格式化程序。 并且所有这些字母都已定义。 那么为什么不允许我们使用一些图案字母呢? 问题答案: 仅代表一个日期,而不代表DateTime。因此,在格式化a时,“ HH:mm:ss”毫无意义。假设您要代表日期和时间,请改用a

  • 我正在玩新的日期时间API,但在运行时: 它抛出: 在查看LocalDate类的源代码时,我看到: 正如文件中所述: 该方法将根据类文档中描述的字母和符号的简单模式创建格式化程序。 所有这些字母都有定义。 那么为什么选择DateTimeFormatter呢。ofPattern不允许我们使用一些模式字母?

  • 本文向大家介绍Java8新特性时间日期库DateTime API及示例详解,包括了Java8新特性时间日期库DateTime API及示例详解的使用技巧和注意事项,需要的朋友参考一下 Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理。同样的,如果你现在依旧在项目中使用传统Date、Calendar和SimpleDateFormat等API来处理日期相关操

  • 我的程序使用日期来检查工程师何时访问过机器。唯一的问题是日期并不是最新的。机器显示的日期和时间是机器启动的准确时间。当按钮被点击时就不会了。任何帮助都会有帮助。 代码: