转换json的时候报错,用的jackson转json。
报错:
Could not write content: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer
(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.allk.vo.CommonData["resultMap"]->java.util.HashMap["datas"]->java.util.ArrayList[0]->
com.allk.vo.TravelTransferVo["airport"]->com.allk.entity.airport.Airport_$$_jvst194_4b["handler"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException:
No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer
(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.allk.vo.CommonData["resultMap"]->java.util.HashMap
["datas"]->java.util.ArrayList[0]->com.allk.vo.TravelTransferVo["airport"]->com.allk.entity.airport.Airport_$$_jvst194_4b["handler"])
序列化的时候出错了。然后看到后面的马上就想到了是不是级联关系配置的时候没有忽略,导致死循环,去看了下,并不是。
hibernate延时加载
因为jsonplugin用的是Java的内审机制.hibernate会给被管理的pojo加入一个hibernateLazyInitializer属性,jsonplugin会把hibernateLazyInitializer也拿出来操作,并读取里面一个不能被反射操作的属性就产生了这个异常.
然后在类型上面将
hibernateLazyInitializer进行忽略。
我是添加的:@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler" })
成功!