在SSH框架中,将一个对象转化为Json字符串时,存在问题。
原因:将对象转化为Json时,因为懒加载的原因,关联对象并未加载(生成的是代理对象),json序列化对象时把该对象直接当作一个存在的属性去序列化就会出现错误(jackson-databind)。(个人理解)
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.xxxxxx.co.contract.models.Contract["contractCategory"]->com.xxxxxx.co.base.models.ContractCategory_$$_javassist_76["handler"])
解决:
- 手动将对象关联的对象全部set为null。