Attempted to serialize java.lang.Class Forgot to register a type adapte
今天使用Mybatis练手,准备将db中查出来的结果集序列化,使用Gson 代码如下
List<User> users1 = userMapper.selectUserCollection(1);Gson gson1 = new Gson();String str = gson1.toJson(users1);
User类如下
Expose
package com.thq.mybatis.model;import java.util.List;import com.google.gson.annotations.Expose;public class User {private Integer id;private String name;private Integer age;private String pwd;private Menu menu;private List<Menu> menus;//get set 方法省略}
一执行,直接报错 百度了一下点击打开链接 上面有一种解决办法 使用Gson 库中的@Expose注解 即:将pojo类需要序列化的字段都加上该注解
public class User {@Exposeprivate Integer id;@Exposeprivate String name;@Exposeprivate Integer age;@Exposeprivate String pwd;@Exposeprivate Menu menu;@Exposeprivate List<Menu> menus;
}
序列化代码
Gson gson1 = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();String str = gson1.toJson(users1);
正常输出,问题解决,优点是比较简单,不过 有个缺点:问题解决上面的方法pojo类要依赖Gson库,而且每个字段都需要加注解,需要更改两个类,pojo字段多的需要加大量的注解 其实还有一个方法,mybatis返回的数据中带有了代理类,所以不能直接序列化,我门可以将返回的结果转换一下,将需要的字段放到新的pojo类中,问题也能搞定,而且原生支持。优点:直观,缺点:如果目标类中比较复杂,需要new 很多的对象,实现需要拷贝的字段 做个笔记,方便以后查看
Attempted to serialize java.lang.Class Forgot to register a type adapte相关推荐
- Attempted to serialize java.lang.Class: com.cao.bean.DmCategory. Forgot to register a type adapter?
使用mybatis从数据库获取的数据,用gson进行传参出现错误以下报错: 我使用的mybatis是采取懒加载的方式查询数据库,也就是只有用到了才去查真正的数据,用不到的话只是返回一个代理对象,gso ...
- 重点技术-20181008-GSON 报错HibernateProxy. Forgot to register a type adapter?
摘要: Attempted to serialize java.lang.Class: org.hibernate.proxy.HibernateProxy. Forgot to register a ...
- springboot出现“org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter?“的解决办法
springboot出现"Attempted to serialize java.lang.Class: org.hibernate.proxy.HibernateProxy. Forgot ...
- 报错: java.lang.IllegalArgumentException: mapper [categoryName] of different type, current_type [text]
Elasticsearch报错: 非法参数异常 Caused by: java.lang.IllegalArgumentException: mapper [categoryName] of diff ...
- Android之java.lang.UnsatisfiedLinkError(Failed to register native method ***callMethod1())解决办法
1.问题 Failed to register native method com.example.chenyu.test.JniClient.callMethod1() java.lang.Unsa ...
- springBoot集成websocket报java.lang.IllegalStateException: Failed to register @ServerEndpoint class:错误
搜了很多答案,大致有以下几种解决办法,如果有类似错误,大家可以按下面几类错误对照检查一下: 1. @ServerEndpoint("/webSocket/message/{xxx}/{xxx ...
- SSM项目tomcat启动不了,spring配置问题。Caused by: java.lang.IllegalStateException: Cannot convert value of type
原因是spring配置文件出错了. 在配置springxml文件时,注意数据库引入不能用value,还有一些对象的引用不能用value. 改成ref就ok了.虽然这个问题很简单,但又有可能被忽略. 再 ...
- 异常org.hibernate.proxy.HibernateProxy.Forgot to register a type adapter
今天遇到一个这样的问题,发现是是对象代理的原因,将转换json对象中的代理对象赋为空即可: <pre name="code" class="java"&g ...
- 注解 java.lang.annotation.Inherited 介绍
在Spring Boot中大量使用了@Inherited注解.我们来了解一下这个注解的用法,注解的源码: package java.lang.annotation;/*** Indicates tha ...
最新文章
- 非升即走的博士们日后该怎么办?院长给出这5点建议
- 互联网如何“升级”制造业?《“人工智能+制造”产业发展研究报告》发布
- 实用插件_这些实用的PR插件你知道吗?
- 5首页加载慢_5个 外贸建站谷歌SEO优化技巧
- 布尔值_Python基础知识点手册——布尔值及布尔运算
- 2021夏季每日一题 【week7 完结】
- zcmu2014(公式推导+二分)
- 语言语法糖_【c#】几种常用语法糖
- 关于Breeze's MapHack 2.0的一些重要说明
- sas一元回归分析_商业分析的应用
- ir指令、立即数的作用_我们一起学RISC-V——08-RV32I 指令应用实战
- [ZJOI 2012]灾难
- 地区选择控件的制作(仿中华英才网地区选择控件)
- activiti7---activiti7整合springboot
- error while trying to retrieving text
- java打印出 锟斤拷_一段java代码带你认识锟斤拷
- 李航 统计学习方法 中的adaboost案例详解
- js中的强制类型转换和进制数表达
- JAVA 的命令行运行
- php随机生成0.1到10的随机数