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。修改完后只更新了两个实体类,结果运行就报错了。    

img

根据日志来看说“EntityKsGc.getKscc()Ljava/lang/Long;” 这个方法不存在,但这个类确实改成了Long类型,另外从eclipse来看,也只提示修改了两个文件。另一个是EntityRecord.java,需要从EntityKsGc.getKscc()获得值。

2.解决

查看日志,报错行在“ServiceImplRecord.insert(ServiceImplRecord.java:78)”,代码如下:

    record.setKSCCBH(gc.getKscc());

用文本编辑器打开ServiceImplRecord.class文件发现了问题,见下图:
img
class文件中还是传递的integer类型。

  • 原因找到了:ServiceImplRecord.class是根据老的EntityKsGc编译之后的结果,当修改EntityKsGc后,需要同步更新ServiceImplRecord.class。
posted @   huiy_小溪  阅读(1784)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 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)
点击右上角即可分享
微信分享提示