hibernate的实体对象是代理过的,应为有些懒加载过程,当用Jackson序列化时会失败,这时候可以在依赖中加入
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate5</artifactId>
<version>2.9.8</version>
</dependency>
如过是自定义的objectMapping,那么需要
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
//解决hibernate代理对象无法序列化的问题
om.registerModule(new Hibernate5Module());
网友评论