spring mvc(spring boot) 整合Mybatis且开启懒加载,直接返回对象就会出现
Could not write JSON: No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS); nested exception is com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.xfishtour.entity.result2.JsonResult[\"data\"]->java.util.ArrayList[0]->com.xxx.xxxx_$$_jvstc2b_0[\"handler\"])
除了关闭全局懒加载外,解决办法有3个:
1.关闭该查询的懒加载 fetchType=“eager”
<collection … fetchType=“eager”>
2.返回的类加上注解
@JsonIgnoreProperties(value = { “handler” })
3.配置json转换器属性SerializationFeature.FAIL_ON_EMPTY_BEANS为false
该方法从:https://blog.csdn.net/justinytsoft/article/details/53575236得知
原文转载至:https://my.oschina.net/yejunxi/blog/1836329