Java面试官老王 2020-11-04 17:07 采纳率: 0%
浏览 36

spring+MongoDB求助!!!!!!

大佬门, 我mongodb中一个字段是存储的字符串,对应的实体类中是存储的date,用的spring-data-mongodb,怎么将这个字段转换后映射上? 如果我不做任何处理的话,会报:Caused by: org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value '2002-07-01'; 使用注解@dateTimeFormat也没用 使用转换器的话会尝试把所有string都转换成date,肯定也不行,是我使用姿势不对么? 大佬们,咋办啊

  • 写回答

1条回答 默认 最新

  • ff&yy 2020-11-04 17:25
    关注

    你在Java代码里定义了DTO,DTO里有get和set方法,数据在从数据到进入到内存的时候会进行反序列化,反序列的时候会调用你的Set方法,此时你可以有机会把你的字符串转换成date,然后可以自定义一个get方法,返回date类型,总的思路:
    1、反序列的时候set方法现将变量从字符串转换成date;
    2、定义个get方法,返回date
    但是这样做会让你的设计比较乱,为了彻底解决这个问题,建议你新增一个字段,用来存储date,让数据也变成date,然后项目上线后写个一个脚本把历史数据转换到新字段里。如有疑问把你的date和string字段对应的DTO截图出来,我写一个伪代码给你

    评论

报告相同问题?

悬赏问题

  • ¥15 C++ 如何判断设置快捷键来实现隐藏/显示窗口
  • ¥15 关于#材料工程#的问题:有没有具有电子阻挡层和空穴阻挡层的电池仿真silvaco代码例子或者其他器件具有阻挡层例子的silvaco代码(最好还有相关文献)
  • ¥60 基于MATLAB的TAOD算法
  • ¥15 Groimp使用疑问
  • ¥15 MDK–ARM里一直找不到调试器
  • ¥15 oracle中sql查询问题
  • ¥15 vue使用gojs3.0版本,在nodeDataArray中的iconSrc使用gif本地路径,展示出来后动画是静态的,不是动态的
  • ¥100 代写个MATLAB代码,有偿
  • ¥15 ansys electronics 2021 R1安装报错,错误代码2,如图
  • ¥15 Dev-c++打字不出现中文,但出现日文