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;