1. 问题描述
一个字段的类型从int变成了bigint,实体类也要同步更新为Long。修改完后只更新了这个类,结果运行就报错了。
根据日志来看说“EntityKsGc.getKscc()Ljava/lang/Long;” 这个方法不存在,但就是修改这个类,改成了Long类型,确确实实存在,另外从eclipse来看,也只提示修改了这一个文件。
2.解决
查看日志,报错行在“ServiceImplRecord.insert(ServiceImplRecord.java:78)”,代码如下:
record.setKSCCBH(gc.getKscc());
用文本编辑器打开class文件发现了问题,见下图:
class文件中还是传递的integer类型。
- 原因找到了:ServiceImplRecord.class是根据老的EntityKsGc编译之后的结果,当修改EntityKsGc后,需要同步更新ServiceImplRecord.class。