您的位置:首页 > 编程语言 > Java开发

Could not write content: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistL

2017-08-30 10:38 776 查看
转换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" })
成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json
相关文章推荐