Mybatis懒加载时,springMVC返回JSON异常


Mybatis懒加载时,springMVC返回JSON异常。

Mybatis懒加载设置如下:

    
    
        
          
      

程序报错:

Could not write JSON: No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl

 当mybatis执行复合查询时,如:

 查询结果封装为实体类,该类其实是一个代理对象

通过调试可以发现该类多了一个handler的属性,之后Jackson在对该代理类做序列化时,由于找不到对应的getter,就抛出异常。

解决方法:

在被代理的Order类上加上 @JsonIgnoreProperties(value = "handler") 注解,让Jackson序列化时忽略handler属性 // com.fasterxml.jackson.annotation.JsonIgnoreProperties;