1.老项目使用 hibernate 的框架,entry 层主键 id 使用的是 Integer 类型.代码如下:
... @Id @GeneratedValue(strategy=GenerationType.IDENTITY) public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } ... 2.接口里面调用 getId 的时候会报 java.lang.NoSuchMethodError 的错误.
adviserChanges.setService_log_id(serviceLog.getId()); 3.报错信息如下:
java.lang.NoSuchMethodError:cn.xxx.xxx.xxx.modules.studyservice.entity.ServiceLog.getId()I atcn.xxx.xxx.bj.modules.auslocal.service.AssignBigClassStudentService.assignAdviser(AssignBigClassStudentService.java:371) atcn.xxx.bpm.bj.modules.auslocal.service.AssignBigClassStudentService$$FastClassByCGLIB$$d542d115.invoke(<generated>) 4.刚开始猜测是不是因为编译有问题,后来反编译了.class 文件,发现反编译之后是有 getId 这个方法的. 而且测试环境和本地都是好使得,但是线上就出问题了.
