大佬门, 我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++打字不出现中文,但出现日文