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 一道python难题2
  • ¥15 一道python难题
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备