Can‘t map property “java.lang.Integer addTime“ to “java.util.Date addTime“. Consider to declare/impl

一:错误描述:

idea编译报错:
Can’t map property “java.lang.Integer addTime” to “java.util.Date addTime”. Consider to declare/impl

如图:
在这里插入图片描述

二:找不到解决办法原因:

1.idea未提示错误在哪:所以排查起来异常艰难
2.关键字百度查询 并未找到匹配问题

三:报错原因:

项目里用了mapStruct 会自动生成代码,两个实体属性名称相同的
但类型却不一致,导致编译生成代码时报错。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

这就是问题所在 修改类型即可。

四:解决办法:

个人经验:
方法1:
从最近提交的代码里(或最后一次可以运行后提交的代码里): 找属性改动的类去排查(例如:我是addTime出错)就从最近改动的类里查找属性addTime。

方法2: 也是我此次排查到用的方法

在这里插入图片描述
从target包里找mapStruct 自动生成的最后一个包里的最后一个类
例如:我的是 user.mapping包 最后一个是UserTaskMapImpl

然后去代码里找到 发现BillMap 未生成在这里插入图片描述

所以问题就出现在 BillMap 的生成上。 修改则解决!!

修改类型之后一定要 clean一下!!! 再编译和启动(或者直接build)
否则mapStruct 生成的类 不会重新编译 还是原来生成的文件 就会产生未生效的错觉!!!!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值