MongoDB中对象反序列化的一个小问题
今天在mongoDB存取对象数据的时候,碰到一个小问题:对象的某一个字段类型是抽象类或者接口。在存入的时候没有问题。可是在读取的时候,因为没有详细类的信息,无法完毕对象的又一次构建。就会报错:
Can not construct instance of com.bp.samples.json.generics.xxx,
problem: abstract types either need to be mapped to concrete types, have custom
deserializer, or be instantiated with additional type information
at [Source:xxxxx]
搜索了一下。有一种方法是给父类加注解。标明继承该父类的全部详细类的名字,网址:
http://blog.csdn.net/java_huashan/article/details/46428971
可是这样的方法由一个局限性,假设我的详细子类是可拓展的,那么每次都要改动源码上面的注解。假设是父类是在框架里,在jar包中,可能就不妥了。
经人指点,找到还有一种比較好的方法,就是在http://wiki.fasterxml.com/JacksonPolymorphicDeserialization中提到的enableDefaultTyping一部分,在mongoDBclient初始化的时候objectMapper对象调用这种方法就能够做到又一次构建抽象类声明的成员变量。
像这样:mapper = new ObjectMapper();
mapper.enableDefaultTyping();
MongoDB中对象反序列化的一个小问题相关推荐
- java数组按某个值排序_Js--使用sort根据数组中对象的某一个属性值进行排序
现货深度学习之tensorflow原理样本 87.45元 包邮 (需用券) 去购买 > Js--使用sort根据数组中对象的某一个属性值进行排序 博客说明 文章所涉及的资料来自互联网整理和个人总 ...
- SQL Server 中关于 @@error 的一个小误区
原文:SQL Server 中关于 @@error 的一个小误区 在SQL Server中,我常常会看到有些前辈这样写: if(@@error<>0)ROLLBACK TRANSACTIO ...
- js sort方法根据数组中对象的某一个属性值进行排序(实用方法)
js sort方法根据数组中对象的某一个属性值进行排序 sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同. var arr = [{name ...
- Oracle中删除数据的一个小技巧
在我带的某个Project中,在开发阶段需要Reload相同的Data到Oracle中来进行测试,因此需要不断的删除数据,简单的Delete操作似乎就OK了,但其实不然.我们到知道建表的时候需要Tab ...
- python中template是什么意思啊_Python中Template使用的一个小技巧
Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用. from string import Template s = Template("there ...
- C语言中定义整数的一个小疑问
下面是一个关于任意整数逆序的C语言代码 #include<stdio.h> int main(){int x,digit,ret;printf("请任意输入一个整数\n" ...
- xlnx4.0中关于SPI-nor-flash的一个小bug
最经搞关于zynq7000,用到了petalinux,其中用的内核版本为xlnx4.0.再处理nandflash问题是,发现如下问题,阅读关于与扩展地址操作的原代码,从纸面上看应该属于一个小bug.原 ...
- ajax 返回数组某个属性值,js中sort方法根据数组中对象的某一个属性值进行排序...
1.一维数组排序 timeList=['2017-10-05','2017-10-01','2017-10-03','2017-10-02','2017-10-09']; timeList.sort( ...
- 使用js删除表格中的一行的一个小练习
代码: <!DOCTYPE html> <html lang="ch"><head><meta charset="UTF-8&q ...
- Struts2配置文件中传递参数的一个小问题
http://blog.csdn.net/CMTobby/article/details/1891120 最近在Struts2中配置action时,经常要在配置文件中给一个页面或者action传递若干 ...
最新文章
- 深度干货!如何将深度学习训练性能提升数倍?
- python100个必背知识-学Python必须背的42个常见单词,看看你都会吗?
- 矩阵分析与多元统计11 广义vec算子与devec算子
- WCF HelpPage 和自动根据头返回JSON XML
- 设计模式:接口隔离原则
- PHP通过PDO连接Microsoft Access数据库
- 2017.9.19 禁忌 失败总结
- matlab读取i o数据文件,Matlab 的数据文件读取
- 华为手机助手 linux,HiSuite-华为手机助手上线!从此再也不担心手机数据导不进Mac电脑啦!...
- https://www.icourse163.org/learn/PKU-1002534001?tid=1003136008#/learn/quiz?id=1003986014
- 除了加速上币,OKEx在DeFi热潮中还能做什么?
- Java关于跨年周数计算的问题解释,以及解决办法(附代码+图)
- 如何使用并且使用过滤器
- html5绘制火柴棒人物
- 半导体物理·笔记之④晶体中原子的电子状态——能带
- Word里的图片显示不全,只显示最下面的一小部分的解决办法
- 阿里云如何绑定域名(阿里云域名如何绑定ip)
- JavaScript 删除数组中为null的元素,过滤数组
- pdf转换成excel文件_将PDF文件转换为Excel
- springcloud五大神兽之Feign