gpt4 book ai didi

java - ISODate 无法从 Spring Boot JPA 存储库解析

转载 作者:行者123 更新时间:2023-12-02 11:20:49 26 4
gpt4 key购买 nike

我有一个 SpringBoot JPA 存储库,它在 MongoDB 实例中找到一堆“东西”,该实例有一个名为“lastModified”的字段,该字段是一个 ISODate(),如下所示。

{ "name": "a", "lastModified", "ISODate(2018-04-19T19:10:39.356574)" }

当我使用如下存储库函数时:

public List<Thing> findByName(String name);

我得到一个

org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value 'ISODate(2018-04-18T18:38:42.635027)'; nested exception is java.lang.IllegalArgumentException

我已经尝试过

  • 创建单独的 setter 和构造函数,以获取每个 java.util.Date 和字符串并用 a 进行转换SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS")
  • 使用@DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ss.SSSSSS") 上实体上的lastModified参数

我是否遗漏了 Mongo 如何进行此转换的信息?我希望它将 ISODate 转换为一个简单的字符串并将其传递给 setLastModified(String name) 函数,但我想情况并非如此?

最佳答案

事实证明,这只是因为日期被插入为“ISODate(2018-04-19T19:10:39.356574)”字符串,而不是像 ISODate("2018-04-17T19:43:43: 00Z”)

一旦我找到并修复了该数据的来源,它就开始正常工作。

关于java - ISODate 无法从 Spring Boot JPA 存储库解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49929316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com