MyBatis:尝试解决Spring Boot集成MyBatis 懒加载时序列化失败的三种方法以及原因FAIL_ON_EMPTY_BEANS

2023-10-26

MyBatis 解决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)
的三种方法

  • fetchtype=eager
    关闭懒加载
  • @JsonIgnoreProperties(value = { “handler” })
    忽略序列化时一些问题
@JsonIgnoreProperties(value = { "handler" })
public class SysRole implements Serializable {
    private Long id;
    private String name;

这是因为报错的具体提示而定的

{
  "timestamp": "2020-03-07T07:46:51.739+0000",
  "status": 500,
  "error": "Internal Server Error",
  "message": "Type definition error: [simple type, class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: 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) (through reference chain: cn.hcnet2006.blog.hcnetwebsite.http.HttpResult[\"data\"]->cn.hcnet2006.blog.hcnetwebsite.pages.PageResult[\"content\"]->com.github.pagehelper.Page[0]->cn.hcnet2006.blog.hcnetwebsite.bean.SysRole_$$_jvste63_0[\"handler\"])",
  "path": "/role/find/page"
}

最终说明是由于SysRole中“handler”属性序列化失败造成的,具体原因又是因为FAIL_ON_EMPTY_BEANS,生成空bean失败
因此可以忽略SysRole这一个实体类中所有序列与饭序列的失败

  • 修改Json
    接第二种方法
    因为是FAIL_ON_EMPTY_BEANS
    所以序列化的时后,空的bean一起显示就可以
    代码若下
  jackson:
    serialization:
      FAIL_ON_EMPTY_BEANS: false

当我得到结果的时候显示handler为空截取一部分

        ],
        "handler": {}
      },
  • 总结
    根据2和3说明懒加载序列化的时候会生成一个handler的空bean,2和三从不同的角度对他进行了解决,这就是我的理解
    不过我现在分页查询还是显示一块加载,我在看看
    突然想分页加载我要嵌套查询做什么呢,傻了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MyBatis:尝试解决Spring Boot集成MyBatis 懒加载时序列化失败的三种方法以及原因FAIL_ON_EMPTY_BEANS 的相关文章

  • apipost-一键压测

    apipost新功能可实现一键压测 接口压测实践 使用场景 对指定接口进行性能测试 实现方式 为实现高性能的并发需求 使用自研的压测引擎 可以实现一万以上并发 项目已经开源 github地址 https github com Apipost
  • STM32 GPIO: pull up, pull down, no pull

    gpio 有3种状态 上拉 下拉 不拉 首先 确定GPIO口的输入和输出 当GPIO处于output模式 一般选择no pull 引脚能够正确地输出目标值 当GPIO处于input模式 需要根据默认的输入值来确定配置模式 如果默认输入的值为
  • C语言小游戏——推箱子(一次性版本)

    目录 思路 1 游戏的开始和地图设定 2 地图场景设置和人物的四项移动 3 分析人物的移动 4 判断结束条件 思路 l 分析 编写代码实现 控制游戏角色 在地图上 避开障碍物 将箱子推到目标点 游戏元素 角色 控制移动 地图 游戏场所 空地
  • JavaScript 的初识

    JavaScript 是 Web 的编程语言 是一种轻量级的编程语言 是可插入 HTML 页面的编程代码 插入 HTML 页面后 可由所有的现代浏览器执行 且JavaScript 非常容易学 文章目录 一 认识JavaScript 二 Ja
  • Git基本命令使用

    Git基本命令使用 分支操作 显示所有本地分支 git branch 显示所有远程分支 git branch r 新建一个分支 git branch branch name 切换到指定的分支 git checkout b branch na
  • Spring框架——IOC和AOP以及DI

    一 IOC原理 1 控制反转 IOC 将创建管理对象的工作交给容器来做 在容器初始化 或在某个时间节点 通过反射机制创建好对象 在使用时直接从容器中获取 控制反转 将对象的控制权反过来交给容器管理 依赖注入 DI 将对象依赖写入配置文件 在
  • Python实现基本Socket服务端与客户端通信

    该文章使用 python 实现基本的 socket 服务端与客户端通信 分步详解与完整代码都有 按需所求即可 一 服务端代码 1 引入自带的socket模块 并创建一个socket实例 服务端需要使用 bind 将该实例绑定到指定域名与端口
  • WDK李宏毅学习笔记第十二周01_ELMO,BERT,GPT

    ELMO BERT GPT 文章目录 ELMO BERT GPT 摘要 1 Contextualized Word Embedding 2 Embeddings from Language Model ELMO 3 Bidirectiona
  • 入门PyTorch的学习路线指南

    PyTorch是目前最受欢迎的深度学习框架之一 它具有易于使用 灵活性强 支持动态图等优点 因此备受研究者和工程师的青睐 如果你想学习PyTorch 下面是一个入门PyTorch的学习路线 学习基础知识 学习Python编程语言 PyTor
  • GD32F450 通过i2c 总线上写指令,从机mcp3421 没有应答信号ACK

    没有ACK的原因 mcp3421地址配置错了 丝印型号是CB5R 地址应该是001 而不是默认的000 MCP3421 ADC单通道模数转换器 中文规格书下载链接 https bbs elecfans com jishu 2245219 1
  • 内部类全面了解

    格式 public class A类 修饰符 class B类 注意点 1 内部类可以直接访问外部类成员 包括私有 2 外部类要访问内部类成员必须要创建对象根据内部类在类中定义的位置 分为 1 在类的成员位置 成员内部类 2 在类的局部位置
  • thymeleaf 常用标签

    1 spring boot 集成 thymeleaf 在pom xml 文件中添加
  • Unity 3D网页游戏 Demo 展示

    2011 年 网页 3D 这一网游开发新趋势逐渐浮出水面 Unity 作为浏览器及移动设备 3D 引擎领域的佼佼者 在国内开始崭露头角 我们团队也完成了首款 Unity Demo 的第一个版本 Demo 通过角色选择 地图漫游 副本战斗 庄
  • hadoop错误记录

    今天弄了一下hadoop 我好大杂烩啊 没办法 被逼的 记录几个错误 1 Name node is in safe mode 这是因为在分布式文件系统启动的时候 开始的时候会有安全模式 当分布式文件系统处于安全模式的情况下 文件系统中的内容
  • 技术、产业、人才三管齐下,数字人民币渐行渐近

    摘要 产业动态 Roxe与Fairexpay达成战略合作 拓展印度汇款业务 自治区级区块链 桂链 发布启动并全面接入 星火 链网 云南省区块链和数字科技标准化技术委员会获批成立 福建省高校首个产教融合区块链联合实验室揭牌 国网电商公司创新探
  • JS背景网页樱花特效

    js绘制网页樱花飘落背景 放入底部可用 在网上也有很多这样案例 js 放于底部 推荐下面这种写法 当然还有一种 小唯美 1
  • Android的服务Service

    Android学了太久了 都忘了 复习下四大组件之一的Service 介绍 Android的Service是一种在后台执行长时间运行操作的组件 它可以在没有用户界面的情况下执行任务 并且可以与应用程序的其他组件进行通信 Service通常用
  • openwrt python_Openwrt python,openwrt上使用Python

    需要安装libffi python mini python libffi以及python mini需要安装在python之前 wget c http downloads openwrt org cn backfire 10 03 1 brc
  • fedora上编译运行C文件

    include
  • 达梦管理工具连接远程达梦数据库报6001错误,但是disql可以连接

    问题 使用达梦客户端工具访问服务连接 总是报6001错误 已排除如下问题 1 服务器防火墙限制 2 达梦数据库服务没启动 可以使用 disql testuser 123456 192 168 1 22 5236命令连接 3 最大会话限制 数

随机推荐

  • MyBatis 中的插件如何实现

    MyBatis 是一款优秀的 Java 持久层框架 它提供了许多方便开发的功能 其中包括插件 插件可以用于修改 MyBatis 的默认行为 增强其功能 在 MyBatis 中 我们可以使用 Interceptor 接口和 Intercept
  • 海森矩阵(Hessian matrix)

    转自 http hi baidu com imheaventian item c8591b19907bd816e2f98612 在数学中 海森矩阵 Hessian matrix 或 Hessian 是一个自变量为向量的实值函数的二阶偏导数组
  • python3 pygame_利用python3 的pygame模块实现塔防游戏

    利用python3的pygame模块基本实现塔防游戏的基本功能 包括血量和分数显示 bgm 防御塔建造 防御塔攻击范围内的敌军 暂停和加速功能 由于实在没有素材 用的都是自己截图P的 所以美化不好 但基本保证功能 其中有一个BUG 但不影响
  • linux基础命令操作

    1 将 etc下面所有的文件 文件名是a m开头的 并且是以 conf结尾的文件复制到 data目录下 2 定义一个别名copy 要求当所有用户执行copy时 执行的是以下操作cp r etc root etc 年月日 要求永久生效 年月日
  • 备忘录之在jsp页面中获取链接,url,传递的参数

    如 url szy wsm jsp doJump2 jsp id 666 可以通过jsp页面在head标签之上写入如下代码 在方法中使用 function page mouseenter function var id
  • Unity3D——在Unity3D中使用关键帧动画的注意事项

    1 记录Animation动画复位的一个注意事项 最近想做一个动画的分步播放 但是在实现动画复位时发现以前用的动画复位的代码不起作用了 Animation AnimationObj GetComponent
  • DLLNotFoundException:xxx tolua... 错误打印

    一 DLLNotFoundException介绍 首先区分一个问题只要是与DLLNotFoundException相关的必然是丢失了DLL文件 不管是安卓还是Window还是Mac原理都是一样的 二 Plugins文件夹 既然是跟DLLNo
  • docker 安装 nginx-proxy-manager

    一 拉取镜像 docker pull jc21 nginx proxy manager 二 部署运行 docker run restart always name nginxmanager d p 80 80 p 81 81 p 443 4
  • Ubuntu14.04 安装Android studio

    Ubuntu14 04 安装Android studio Android Studio 官方 Android IDE Android Studio 提供用于为各类 Android 设备开发应用的最快速的工具 利用世界一流的代码编辑 调试 性
  • Linux字符设备驱动file_operations详解

    struct file operations struct file operations在Fs h这个文件里面被定义的 如下所示 struct file operations struct module owner 拥有该结构的模块的指针
  • Js中的枚举

    原文见 Js中的枚举 在JavaScript目前的版本中 没有枚举这个概念 当然 ECMA 262第三版中已经将enum作为关键字保留 然而 如同JavaScript中没有class一样 但我们仍然可以通过间接的方式 JSON来实现它 如下
  • 合并Dwg文件

    尝试用 NET平台C 写个打开其他DWG文件并读取所有内容 打包成块后再插入当前文档的程序 1 打开其他指定文件没问题 2 打包成块程序这里出了问题3 但若是直接在当前文档创建直线 再运行打包成块程序就没问题 不知道是何原因 可有大神出来指
  • 快手磁力金牛和小店通的区别

    手磁力金牛平台是全新电商营销平台磁力金牛 磁力金牛平台将集合快手粉条 小店通 真正打通公域私域流量 实现全站数字化营销 核心提示 磁力金牛平台整合了小店通 粉条的投放链路 公域私域流量融合 磁力金牛平台整合了小店通 粉条的投放链路 公域私域
  • win7 svn服务器搭建过程

    svn简介 https baike baidu com item subversion 7818587 fr aladdin SVN服务端分为 Subversion和VisualSVN Server 这里 我选择了VisualSVN Ser
  • Java笔记:UDP基础使用与广播

    文章目录 目的 作为客户端使用 作为服务器使用 广播 广播地址获取 广播功能演示 总结 目的 UDP是比较基础常用的网络通讯方式 这篇文章将介绍Java中UDP基础使用的一些内容 本文中使用 Packet Sender 工具进行测试 其官网
  • Java使用DES加密解密

    一 DES算法 DES Data Encryption Standard 数据加密标准 它是由IBM公司研制的一种对称密码算法 DES是一个分组加密算法 典型的DES以64位分组对数据加密 加密和解密用的是用一个算法 总长度64位 8字节
  • Spring:基于xml文件的控制反转(ioc)

    1 环境搭建 导入spring使用最基本的坐标
  • VMware Workstation 不可恢复错误: (vmx)

    errors VMware Workstation 不可恢复错误 vmx Exception 0xc0000006 disk error while paging has occurred 日志文件位于 K vmware centos vm
  • 运用决策表设计测试用例

    逻辑关系 逻辑关系 logic relationship 即 依赖关系 在项目管理中 指表示两个活动 前导活动和后续活动 中一个活动的变更将会影响到另一个活动的关系 强制依赖关系 所做工作中固有的依赖关系 可自由处理的依赖关系 由项目队伍确
  • MyBatis:尝试解决Spring Boot集成MyBatis 懒加载时序列化失败的三种方法以及原因FAIL_ON_EMPTY_BEANS

    MyBatis 解决No serializer found for class org apache ibatis executor loader javassist JavassistProxyFactory EnhancedResult