我们将弹簧启动升级1.5.3到2.0。我们在阅读现有文档时遇到异常。
org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [java.lang.String] to type [java.time.Instant]
下面的mongo文件和实体类相同。以前的春季启动版本它工作正常。现在我在qazxsw poi API调用期间遇到异常。
mongoTemplate.findOne()
此问题与Java 8日期及其序列化/反序列化有关。您应该创建objectMapper的自定义实例,然后将其注入mongoTemplate。
这里解释得很好:{
"_id": "a884b47533a2f2596",
"_class": "com.A.B.C.model.Entity1",
"field1": "00006353",
"field2": "384493",
"field3": "327274",
"date": "2018-09-03T08:25:22.461Z"
}
public class Entity1 {
@Id
private String id;
@Indexed
private String field1;
@Indexed
private String field2;
@Indexed
private String field3;
private Instant date;
}
此外,您还需要添加maven依赖项:
https://gist.github.com/corbtastik/7727bb870751f488ab30383aa72c834d
祝好运!