Java Mybatis懒加载报错末尾显示_$$_jvst12a_0["handler"])的解决方案

异常信息

Type definition error: [simple type, class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactoryEnhancedResultObjectProxyImpl];nestedexceptioniscom.fasterxml.jackson.databind.exc.InvalidDefinitionException:Noserializerfoundforclassorg.apache.ibatis.executor.loader.javassist.JavassistProxyFactoryEnhancedResultObjectProxyImpl]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactoryEnhancedResultObjectProxyImpl];nestedexceptioniscom.fasterxml.jackson.databind.exc.InvalidDefinitionException:Noserializerfoundforclassorg.apache.ibatis.executor.loader.javassist.JavassistProxyFactoryEnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.ruoyi.framework.web.page.TableDataInfo[“rows”]->com.github.pagehelper.Page[0]->com.ruoyi.project.system.student.domain.ZStudent_$$_jvst12a_0[“handler”])

解决方法

  1. 关闭该查询的懒加载 fetchType="eager"
    下面的两种方法我也试过,好像并没有什么作用,在进行序列化的时候就会出现问题比如说BackstageRole会变成Backstage_$$_jvst12a_0这种代理对象(非原始对象)。
    <resultMap id="RoleMap" type="com.hyper.netman.entity.business.BackstageRole">
        <result column="id" property="id"/>
        <result column="role_name" property="roleName"/>
        <result column="role_desc" property="roleDesc"/>
        <result column="create_time" property="createTime"/>
        <result column="modify_time" property="modifyTime"/>
        <!--需要关闭懒加载,不然对象不是原来的对象-->
        <collection property="resources" column="id" javaType="list" fetchType="eager" select="getRolesMenus"/>
    </resultMap>
  1. 返回的类加上注解(即实体类)
@JsonIgnoreProperties(value = { "handler" })
public class BackstageRole{}
  1. 配置json转换器属性 SerializationFeature.FAIL_ON_EMPTY_BEANS为false
spring:
  jackson:
    serialization:
      FAIL_ON_EMPTY_BEANS: false
posted @   itwetouch  阅读(1531)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示