hibernate controller层返回前端json转化失败 org.springframework.http.converter.HttpMessage
2018-02-05 14:25
661 查看
错误:
使用的是springBoot的jpa , 在操作实体的时候发生错误
错误原因和解决方法:
1. https://stackoverflow.com/questions/24994440/no-serializer-found-for-class-org-hibernate-proxy-pojo-javassist-javassist
2. https://segmentfault.com/a/1190000000768565
2018-02-05 14:22:17.567 WARN 520 --- [nio-7900-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: 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); 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.dynamic.cloud.entity.User_$$_jvste64_0["handler"])
使用的是springBoot的jpa , 在操作实体的时候发生错误
public User findById(@PathVariable Long id) { // User one = this.userRepository.getOne(id); // 这个需要在实体上加 @JsonIgnoreProperties({ "handler", // "hibernateLazyInitializer" }) User one = userRepository.findOne(id); System.out.println(one); return one; } 源码可以知道: /** * Retrieves an entity by its id. * * @param id must not be {@literal null}. * @return the entity with the given id or {@literal null} if none found * @throws IllegalArgumentException if {@code id} is {@literal null} */ T findOne(ID id); /** * Returns a reference to the entity with the given identifier. * * @param id must not be {@literal null}. * @return a reference to the entity with the given identifier. * @see EntityManager#getReference(Class, Object) */ T getOne(ID id); 从错误中可以看出,这个返回值应该是hibernate产生的一个代理
错误原因和解决方法:
1. https://stackoverflow.com/questions/24994440/no-serializer-found-for-class-org-hibernate-proxy-pojo-javassist-javassist
2. https://segmentfault.com/a/1190000000768565
相关文章推荐
- @ResponseBody 返回json字符串的核心类是org.springframework.http.converter.json.MappingJacksonHttpMessageConverter,它使用了Jackson 这个开源的第三方类库。主要是以下两个jar包:jackson-core-asl-1.6.4.jar;jackson-mapper-asl-1.6.4.jar
- org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Infinite r
- java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageC
- Not found org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
- Spring 4.x org.springframework.http.converter.json.MappingJacksonHttpMessageConverter ClassNotFoundException:
- java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageC
- org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
- Not found org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
- Not found org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
- Not found org.springframework.http.converter.json.MappingJacksonHttpMessageConve
- org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
- org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
- SSM框架搭建java.lang.ClassNotFoundException: org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
- Cannot find class [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter]
- org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing
- Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: Cou
- org.springframework.http.converter.HttpMessageNotWritableException:
- Not found org.springframework.http.converter.json.MappingJacksonHttpMessageConve配置文件中报错
- SpringMVC @ResponseBody 415错误处理及org.springframework.http.converter.json.MappingJacksonHttpMessageCon
- org.springframework.http.converter.HttpMessageNotWritableException: