文档章节

mybatis懒加载 responsebody json序列化时候的异常

kentxp
 kentxp
发布于 2017/07/03 10:39
字数 223
阅读 68
收藏 0
点赞 0
评论 0

mybatis开启懒加载后,返回bean为json时,出现如下异常

10:29:47.016 [http-apr-8088-exec-10] WARN  o.s.w.s.m.s.DefaultHandlerExceptionResolver - 
Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: 
Could not write content:
No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializer 
(to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) ) 

 

网上两种处理意见

1 继承ObjectMapper 设置属性为 SerializationFeature.FAIL_ON_EMPTY_BEANS 为false。 

2 在需要转json的实体类上加 @JsonInclude(JsonInclude.Include.NON_EMPTY)

第二种方案有一个弊端 ,比如实体类中,存在一个integer为0 ,则json就不转化了

查找发现 对于hibeante有一种处理方式

@JsonIgnoreProperties(value={“hibernateLazyInitializer”,”handler})

我认为 mybatis也应该可以有类似hibernate的处理方式

但是网上没有找到

debug观察需要处理的bean,发现多了一个属性

应该是懒加载时候一个代理

尝试在转换时 忽略他@JsonIgnoreProperties(value = {"javassistProxyFactory", "handler"})

搞定

© 著作权归作者所有

共有 人打赏支持
kentxp
粉丝 2
博文 7
码字总数 5393
作品 0
合肥
Mybatis Paginator分页

mybatis-paginator是gethub上的一个开源项目、用于java后台获取分页数据、该开源项目还提供一个列表组件(mmgrid)用于前端展示。 该开源项目地址:https://github.com/miemiedev 参考博客:...

_Roger_
2015/10/20
103
0
No serializer found for class org.hibernate.proxy.

使用SpringMVC4+Hibernate4+Json时,报错如下: com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyI......

liuhuics10
2016/01/10
233
0
Hibernate+SpringMVC+Spring配合jackson.jar使用报错!很着急!!!!!!

本人菜鸟一枚,尝试SpringMVC配合jackson包直接返回json格式给前台 首先,项目的lib下已经导入jackson-all-1.8.1.jar 其次,controller中方法也已经是用注解@responsebody @ResponseBodypubl...

蜡笔小新_
2014/03/04
3.3K
2
springboot + mybatis从环境搭建到打包发布

1.配置pom.xml文件 2.配置generatorConfig.xml文件(与pom.xml中配置的mybatis-generator-maven-plugin插件configurationFile属性路径保持一致) 注意:此配置文件中不能存在注释,否则无法正...

Jay丶
2017/11/23
0
0
常用EE框架

Myth 关于 Java EE的认识 1.【JSP/Servlet 】 1、JSP页面上的SQL标签以及EL标签是优先于文件头的那些JavaServlet语句运行的,所以要保证非法进入页面时重定向的问题 2、如果想要获取异常来据...

mmythos
2016/12/01
0
0
浅谈Java中JSON的序列化问题

在Java Web开发的过程中,时常会遇到与自己预期不一样的情况。有的时候静下心来自己去研究一番内在的原因还是很有趣的。这两天在写java web的时候,碰到了一个对象序列化的问题,问题大概是这...

小欣妹妹
2017/10/24
0
0
mybitis懒加载Could not write JSON:No serializer...

spring mvc(spring boot) 整合Mybatis且开启懒加载,直接返回对象就会出现 除了关闭全局懒加载外,解决办法有3个 1.关闭该查询的懒加载 fetchType="eager" <collection ... fetchType="eager...

HeyS1
06/27
0
0
前后端分离-从MVC到前后端分离

摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强。MVC模式最早用于Smalltalk语言中,最后在其它许多开发语言中都得到了很好的应用,例如,Java中的Strut...

郭恩洲_OSC博客
2016/11/21
32
0
Spring Boot中 hibernate懒加载(lazy loading)造成序列化失败

Spring Boot中 hibernate 延迟加载 | 懒加载(lazy loading)造成序列化失败 Spring hibernate 懒实例化 Spring Boot中 延迟加载 | 懒加载(lazy loading)造成序列化失败 问题描述 背景很简...

曹真
2017/08/08
0
0
Spring MVC返回json视图时,如何将对象直接序列化成不带变量名做为根节点

Spring MVC返回json视图时,如何将对象直接序列化成不带变量名做为根节点的 json 报文 问题 问题描述起来比较拗口,其实就是用Spring MVC时,如何将对象映射成 json 报文时不把对象作为json的...

Tek_Eternal
2015/03/01
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RESTful API 设计规范

关于「能愿动词」的使用 为了避免歧义,文档大量使用了「能愿动词」,对应的解释如下: 必须 (MUST):绝对,严格遵循,请照做,无条件遵守; 一定不可 (MUST NOT):禁令,严令禁止; 应该 (S...

niithub
5分钟前
0
0
Spring Cloud云服务架构 - common-service 项目过程构建

我们将对common-service整个项目进行剖析,将整个构建的流程给记录下来,让更多的关注者来参考学习。 首先在构建spring cloud的common-service之前,我们需要准备的技术: Maven(项目构建)...

itcloud
6分钟前
0
0
oracle 如何查看日志?

Oracle日志查看一.Oracle日志的路径:登录:sqlplus "/as sysdba"查看路径:SQL> select * from v$logfile;SQL> select * from v$logfile;(#日志文件路径)二.Oracle日...

youfen
7分钟前
0
0
sap netweaver developer studio安装svn插件

问题 我现在在Sap的IDE(netweaver developer studio)上面安装svn插件。 步骤 确定IDE使用的eclipse版本 Help→About SAP NetWeaver Developer Studio→Installation Details→Features→F...

亚林瓜子
14分钟前
0
0
大数据开发学习的内容介绍,成都大数据培训机构哪里好?

大数据开发培训已经成为了越来越多人的选择,大数据开发工程师也是各公司争相争夺的金领人才之一了,在当今科技发展非常迅速的社会里,越来越多人把职业规划投向了大数据开发。这里为大家整理...

加米谷大数据
19分钟前
2
0
函数

函数 函数是Python中最主要也是最重要的代码组织和复用手段。作为最重要的原则,如果你要重复使用相同或非常类似的代码,就需要写一个函数。通过给函数起一个名字,还可以提高代码的可读性。...

火力全開
20分钟前
0
0
gulp-webserverf启动服务,局域网无法访问

如题,gulp-server启动的服务,只能本机访问,局域网通过ip无法访问; 启动的其它项目,均可以访问成功; 网上资源,很多说什么防火墙之类的问题,都无果; 只需要给启动服务添加参数即可, ...

littleFaye
22分钟前
0
0
RabbitMQ实战:5种模式和示例

应用RabbitMQ的5种队列 一、简单队列 P:消息的生产者 C:消息的消费者 红色:队列 生产者实现思路: 创建连接工厂ConnectionFactory,设置服务地址127.0.0.1,端口号5672,设置用户名、密码...

spinachgit
23分钟前
0
0
mysql常见报错标号对应原因以及处理方法

mysql常见报错标号以及对应解决方法 报错标号 报错现象 解决方法 原因 1449 Cause: java.sql.SQLException: The user specified as a definer ('authplat_dev'@'%') does not exist 在控制台...

ChinaHYF
25分钟前
0
0
Java 监控系统技术选型

(1)操作系统监控 Sigar oshi (2)Tomcat监控 JMX 日志 (3)Oracle监控 日志 直连SQL查询 基于Druid连接池 (4)拓扑图 jtopo http://www.jtopo.com/demo/statictis.html...

cccyb
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部