我们使用 Spring Data JPA 来访问 Derby-DB。时间值定义为 java.time.LocalDate (java 8 time api)。Spring Data 现在附带了 org.springframework.data.convert.Jsr310Converters.LocalDateToDateConverter,用于将 LocalDate 转换为 java.util.Date,因为据我所知,JPA 规范到目前为止还不支持 LocalDate。
现在,我们在将 LocalDate.MAX 转换为 Date 时遇到问题,导致出现以下异常(已删除):
Caused by: java.lang.IllegalArgumentException: java.lang.ArithmeticException: long overflow
at java.util.Date.from(Unknown Source)
at org.springframework.data.convert.Jsr310Converters$LocalDateToDateConverter.convert(Jsr310Converters.java:116)
at org.springframework.data.jpa.convert.threeten.Jsr310JpaConverters$LocalDateConverter.convertToDatabaseColumn(Jsr310JpaConverters.java:52)
at org.springframework.data.jpa.convert.threeten.Jsr310JpaConverters$LocalDateConverter.convertToDatabaseColumn(Jsr310JpaConverters.java:47)
at org.hibernate.type.descriptor.converter.AttributeConverterSqlTypeDescriptorAdapter$1.bind(AttributeConverterSqlTypeDescriptorAdapter.java:97)
... 79 more
Caused by: java.lang.ArithmeticException: long overflow
at java.lang.Math.multiplyExact(Unknown Source)
at java.time.Instant.toEpochMilli(Unknown Source)
... 84 more
Run Code Online (Sandbox Code Playgroud)
有谁也遇到过这个问题并有解决这个问题的建议吗?
| 归档时间: |
|
| 查看次数: |
3177 次 |
| 最近记录: |