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截图出来,我写一个伪代码给你

    评论

报告相同问题?

悬赏问题

  • ¥100 C51单片机设计交通灯时出现的问题
  • ¥15 R语言爬虫的时候元素和园代码不一样怎么解决呀
  • ¥15 VS2022多项目启动有问题
  • ¥15 SQL删除添加数据后序号不连续问题。
  • ¥15 首次运行OmniEvent运行报错
  • ¥15 有没有人知道这个问题怎么解决
  • ¥15 comsol电力电缆载流量仿真
  • ¥15 webSocket可以接TCP socket接口吗
  • ¥60 mpi并行出错,CFD++计算
  • ¥15 c#:vsto,powerpoint的外接程序中换主题颜色