Hibernate实体生成JSON的问题及解决

时间:2023-03-09 04:11:43
Hibernate实体生成JSON的问题及解决

1、延迟加载所造成的代理对象无法正常序列化的问题

在实体类上添加注解: @JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })

2、双向关联的对象生成JSON的无限循环问题

2.1 两个引用方向都需要生成JSON的情况

引入jackson-jsog库;

在实体类上添加注解: @JsonIdentityInfo(generator = JSOGGenerator.class) ;

客户端引入JSOG脚本库,对服务器端返回的数据进行解码处理: JSOG.decode(data)

2.2 单方向生成JSON的情况

在需要生成属性JSON的类里,对应的属性字段上添加注解: @JsonManagedReference ;

在不需要生成属性JSON的类里,对应的属性字段上添加注解: @JsonBackReference