No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no pro

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30581017/article/details/79747516

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: 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.yu.app.web.form.ResultRentSearch[“data”]->com.yu.app.web.form.HouseAllInfoAndImage[“houseInfo”]->com.yu.app.entity.HouseInfo_$$_jvste6d_1[“handler”])

在hibernate查询数据,并将数据转化为json的时候报错,原因是hibernate在配置表A与表B之间的映射时,会在类A中引用类B,在类B中引用类A。当其中一个对象用jackson转成json时,会造成他们之间的无限引用,直到报错.
解决办法:

在引用类及被引用类上加上注解

@JsonIgnoreProperties(value = {"handler","hibernateLazyInitializer","fieldHandler"})

导包
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
这样正常不报错!

猜你喜欢

转载自blog.csdn.net/qq_30581017/article/details/79747516
今日推荐