【发布时间】:2018-08-05 17:51:43
【问题描述】:
使用 spring-boot 1.5.10(所以当前)来使用 Java8 日期/时间是不支持,因为默认情况下这个版本的 Spring Boot 使用 Hibernate 5.0.12.Final。
为了实现这一点(Spring Boot 1.5.10),在覆盖版本的pom.xml properties 部分有效。
<hibernate.version>5.2.12.Final</hibernate.version>
问题: 启用 Java8 日期/时间以覆盖休眠版本或以某种方式(如果是,那么如何?)将 JPA 2.2 用于 SPRING_BOOT 的最佳方法是什么?
编辑
随着休眠5.0.x 我不断得到:
原因: org.springframework.jdbc.datasource.init.ScriptStatementFailedException: 执行 URL 的 SQL 脚本语句 #1 失败 [文件:./src/main/resources/db/h2/data-h2.sql]:插入 预订(ID、RESERVATION_NAME、DATE_FROM、DATE_TO)VALUES(1、 'res1', ParseDateTime('01 01 2001', 'd M yyyy'), ParseDateTime('02 01' 2001', 'd M yyyy')), (2, 'res1', ParseDateTime('01 02 2001', 'd M yyyy'), ParseDateTime('02 02 2001', 'd M yyyy')), (3, 'res3', ParseDateTime('01 03 2001', 'd M yyyy'), ParseDateTime('02 03 2001', 'd M yyyy')), (4, 'res4', ParseDateTime('01 04 2001', 'd M yyyy'), ParseDateTime('02 04 2001', 'd M yyyy')), (5, 'res5', ParseDateTime('01 05 2001', 'd M yyyy'), ParseDateTime('02 05 2001', 'd M yyyy'));嵌套异常是 org.h2.jdbc.JdbcSQLException: Heksadecymalny string z nieparzystą liczbą znaków: "2001-01-01 00:00:00.0" 具有奇数个字符的十六进制字符串: “2001-01-01 00:00:00.0”; SQL 语句:INSERT INTO 预订(ID, RESERVATION_NAME, DATE_FROM, DATE_TO) VALUES (1, 'res1', ParseDateTime('01 01 2001', 'd M yyyy'), ParseDateTime('02 01 2001', 'd M yyyy')),
但是当使用5.2.12.Final 时一切正常。
【问题讨论】:
标签: spring hibernate spring-boot jpa jpa-2.2