解决 org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class XXX;...-程序员宅基地

技术标签: java  json  数据库  

最近用spring data jpa操作mongo时进行查询操作时遇到该错误:

由于想直接获取到 实体类的迭代器(如:FindIterable<User> ) 使用了一下方法:

template.getCollection(entityInformation.getCollectionName()).find(entityInformation.getJavaType());

  出现以下错误:

org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class com.example.tranfer.entity.User.

	at org.bson.codecs.configuration.CodecCache.getOrThrow(CodecCache.java:46)
	at org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:63)
	at org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:37)
	at com.mongodb.internal.operation.Operations.createFindOperation(Operations.java:140)

  

解决办法如下:

在自己的repository中注入Mongo转换器

  @Autowired
    MongoConverter mongoConverter;

  使用方法:

        while (iterator.hasNext()){
            Document next = iterator.next();
            User user = mongoConverter.read(User.class, next);
            users.add(user);
        }

  MongoTemplate就是这么做的

 

转载于:https://www.cnblogs.com/zjyingchang/p/10949512.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30315905/article/details/99091524

智能推荐

ARM裸机程序开发——ARM运行模式及寄存器_arm运行模式作用-程序员宅基地

文章浏览阅读1.8k次。现在来总结一下ARM的运行模式以及寄存器★ARM的运行模式类型ARM微处理器有7中运行模式:用户模式(user)、系统模式(system)、一般中断模式(IRQ)、快速中断模式(FIQ)、管理模式(supervisor、svr)、中止模式(abort)、未定义指令中止模式(undefined)◇这七种运行模式分别用于什么情况下?▲用户模式:用户模式是用户程序_arm运行模式作用

springboot/java/php/node/pythonQ宝商城【计算机毕设】-程序员宅基地

文章浏览阅读282次,点赞8次,收藏8次。在这个信息爆炸的时代,消费者对于购物的需求也在不断地提高,他们希望能够在一个地方购买到各种各样的商品,享受到便捷的购物体验。而在这个过程中,如何让消费者在众多的电商平台中选择自己的产品,成为了企业面临的一大挑战。因此,本选题旨在研究如何通过优化电商平台的设计,提高消费者的购物体验,从而吸引更多的用户。通过对电商平台的研究,可以帮助企业更好地了解消费者的需求,为他们提供更加贴心的服务。通过对用户行为数据的分析,企业可以发现消费者的购物习惯、喜好等信息,从而调整自己的产品策略,提高产品的竞争力。

AcWing第四章算法模板总结——数学知识-程序员宅基地

文章浏览阅读93次。一、质数二、约数三、欧拉函数四、快速幂五、扩展欧几里得算法六、中国剩余定理七、高斯消元八、组合计数九、容斥原理十、简单博弈论。

基于MI的cfc(交叉频率耦合)分析_pac mi-程序员宅基地

文章浏览阅读3.9k次,点赞2次,收藏25次。PAC 指高节律振荡幅值 ( 能量 ) 受到低节律振荡的相位调制,被锁定在低节律振荡的相位上。PAC 现象是目前发现比较多、研究较为深入的一种CFC 现象。PAC 现象已在啮齿类动物的海马、基底核和猕猴的新皮质以及人类的皮层和海马中有发现。MI 算法由Canolty Tort 等[70]发展 提出,主要是基于高频节律的幅值在低频节律相位信号上的分布, 来计算该分布的香农熵从而表征该分布的不均匀..._pac mi

【FICO】一文带你详解SAP财务模块中的统驭科目及特别总账-程序员宅基地

文章浏览阅读1k次,点赞24次,收藏11次。统驭科目作为SAP FICO财务模块中专有的一个概念,很好地展示了SAP ERP系统在设计模式中的精妙性。在本文中,笔者将详细地介绍统驭科目的设计初衷,作用以及如何在系统中进行使用。

Java - -Servlet概述_java servlet概述-程序员宅基地

文章浏览阅读269次。一、Servlet 简介Servlet 运行在服务端(tomcat服务器)的Java小程序,是sun公司提供一套规范,用来处理客户端请求、响应给浏览器的动态web资源技术。但servlet的实质就是java代码,通过java的API动态的向客户端输出内容。知乎:这个提问的最大一个bug,就是以为servlet是很复杂的东西,事实上,servlet就是一个Java接口,interface! ..._java servlet概述

随便推点

模式识别或智能视频处理常用的视频库素材库_模式识别 视频数据下载-程序员宅基地

文章浏览阅读2.4k次。【本文转自】http://www.cnblogs.com/rosekin/archive/2013/03/28/2986080.html智能视频分析常用的视频库:http://media.xiph.org/video/derf/ftp://motinas.elec.qmul.ac.uk/http://media.xiph.org/video/derf/http://www.cv_模式识别 视频数据下载

Latex编号设置方法(持续更新中……)_label={[\arabic*]}-程序员宅基地

文章浏览阅读7.7k次,点赞4次,收藏4次。三种方式enumerate、itemize、description环境具体可以参考链接LaTeX 使用:itemize,enumerate,description 用法缩进设置这一部分可以参考itemize, enumerate枚举,编号使用及编号样式设计..._label={[\arabic*]}

linux扫描磁盘变化命令,Linux quotacheck命令:扫描文件系统并建立Quota记录文件-程序员宅基地

文章浏览阅读688次。其实,磁盘配额(Quota)就是通过分析整个文件系统中每个用户和群组拥有的文件总数和总容量,再将这些数据记录在文件系统中的最顶层目录中,然后在此记录文件中使用各个用户和群组的配额限制值去规范磁盘使用量的。因此,建立 Quota 的记录文件是非常有必要的。扫描文件系统(必须含有挂载参数 usrquota 和 grpquota)并建立 Quota 记录文件,可以使用quotacheck 命令。此命令的..._quotacheck

上门服务小程序源码 理疗,足疗,美容SAP上门服务小程序源码_足疗店小程序源码-程序员宅基地

文章浏览阅读458次。运行环境:Nginx 1.20+PHP7.1+MySQL 5.6 通过HBuilder X编译小程序APP版本。_足疗店小程序源码

iOS 自动布局 关于 '控件拉伸' 或者 '内容压缩'的控制_ios masonry 两个label水平排列,后一个label把前一个压缩了-程序员宅基地

文章浏览阅读1.3k次。在开发过程中,经常碰到如图所示的需求:并排着三个label_0, label_1, label_2..(从左至右),三个label的内容长度都是未知,三个label的之间的距离都是固定值。正常操作:我们从左至右依次添加label。设定距离左端的距离,居中,最后一个label_2的时候,再多设置一个距离父视图右边的距离。。这样,约束会飘红,有冲突。而且_ios masonry 两个label水平排列,后一个label把前一个压缩了

在Apple Silicon Macs上如何安装Rosetta 2?非本机Intel x86应用如何在M1上运行?_如何在intel mac 上安装运行任意ios应用-程序员宅基地

文章浏览阅读1.4k次。如何在M1上运行较早的非本机Intel x86应用?新购买的Apple Silicon Mac,比如M1 MacBook Pro,MacBook AIr或Mac mini等机子上,如果想要运行较早的非本机Intel x86应用,则需要Rosetta 2技术。但是有些Mac上却并未安装Rosetta 2,因此,如果要运行这些非本机Intel x86应用,则需要自己操作将Rosetta 2安装到Apple Silicon Mac上。下方为您分享在Apple Silicon Macs上安装Rosetta 2的方法_如何在intel mac 上安装运行任意ios应用

推荐文章

热门文章

相关标签