Java:An attempt was made to call a method that does not exist. The attempt was made from the following location:
1. 问题描述
一个字段的类型从int变成了bigint,实体类也要同步更新为Long。修改完后只更新了两个实体类,结果运行就报错了。
根据日志来看说“EntityKsGc.getKscc()Ljava/lang/Long;” 这个方法不存在,但这个类确实改成了Long类型,另外从eclipse来看,也只提示修改了两个文件。另一个是EntityRecord.java,需要从EntityKsGc.getKscc()获得值。
2.解决
查看日志,报错行在“ServiceImplRecord.insert(ServiceImplRecord.java:78)”,代码如下:
record.setKSCCBH(gc.getKscc());
用文本编辑器打开ServiceImplRecord.class文件发现了问题,见下图:
class文件中还是传递的integer类型。
- 原因找到了:ServiceImplRecord.class是根据老的EntityKsGc编译之后的结果,当修改EntityKsGc后,需要同步更新ServiceImplRecord.class。
本文来自博客园,作者:huiy_小溪,转载请注明原文链接:https://www.cnblogs.com/huiy/p/18547416
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2021-11-15 代理模式 (学习笔记7)
2021-11-15 建造者模式 (学习笔记6)
2021-11-15 工厂模式 (学习笔记5)
2021-11-15 原型模式 (学习笔记4)
2021-11-15 单例模式 (学习笔记3)