java.time.DateTimeException: Unable to obtain Instant from TemporalAccessor: {},ISO resolved to 2007
Spring boot集成Elasticsearch报错问题:当实体类设置日期类型为Date时,保存数据没问题,查询时报错报错内容如下:java.time.DateTimeException: Unable to obtain Instant from TemporalAccessor: {},ISO resolved to 2007-08-09 of type java.time.format.
·
Spring boot集成Elasticsearch报错
问题:当实体类设置日期类型为Date
时,保存数据没问题,查询时报错
报错内容如下:
java.time.DateTimeException: Unable to obtain Instant from TemporalAccessor: {},ISO resolved to 2007-08-09 of type java.time.format.Parsed
at java.time.Instant.from(Instant.java:378)
at org.springframework.data.elasticsearch.core.convert.ElasticsearchDateConverter.parse(ElasticsearchDateConverter.java:125)
at org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchPersistentProperty$1.read(SimpleElasticsearchPersistentProperty.java:160)
at org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter.readValue(MappingElasticsearchConverter.java:281)
at org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter$ElasticsearchPropertyValueProvider.getPropertyValue(MappingElasticsearchConverter.java:869)
at org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter.readProperties(MappingElasticsearchConverter.java:260)
at org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter.readEntity(MappingElasticsearchConverter.java:192)
at org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter.read(MappingElasticsearchConverter.java:172)
at org.springframework.data.elasticsearch.core.convert.MappingElasticsearchConverter.read(MappingElasticsearchConverter.java:81)
at org.springframework.data.elasticsearch.core.AbstractElasticsearchTemplate$ReadDocumentCallback.doWith(AbstractElasticsearchTemplate.java:602)
at org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate.get(ElasticsearchRestTemplate.java:166)
解决的方法:
我看到网上很多文章的解决办法是用LocalDateTime替换Date但是我使用这个办法时候 瞎报错,很多办法试了都不行,于是按照数据库的那种思想 数据库中date类型的数据 Java实体类可以拿String装,后期如果一定要操作时间的话 还可以转回去。所以这次我的解决的办法也是这样,上代码:
@Field(type = FieldType.Text,index = false)
private String openTime;
于是就完美的解决了问题 数据查询出来了。
更多推荐
所有评论(0)