Mybatis在封装结果集的时候,如果方法返回的是对象,则会去调用这个对象的无参构造方法。
如果实体类标注了@Builder注解,则此注解会把默认的构造方法全部改成私有的,则Mybatis在通过无参构造方法反射创建对象时,就会找不到构造方法,抛出Unsupported conversion from LONG to java.sql.Timestamp异常。
这里完全可以抛出一个 MethodNotException,可以快速定位到是没有公开的空参构造方法的原因,这里Myabtis可以做优化。
当发现线上运行可以,但是本地有报错时,此时需要排查一下 本地代码基于线上代码做了哪些改动。