JsonMappingException Infinite recursion StackOverflowError_java.lang.runtimeexception: com.fasterxml.jackson.-程序员宅基地

技术标签: java  JsonMappingException  @JsonBackReference  StackOverflowError  

  • 报错信息
    java.lang.RuntimeException: com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: cn.iponkan.entity.Order[“lines”]->org.hibernate.collection.PersistentBag[0]-> cn.iponkan.entity.OrderLine[“owner”]-> cn.iponkan.entity.Order[“lines”]
    JsonUtils.encode(JsonUtils.java:33)
    Caused by: java.lang.StackOverflowError
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader 1. r u n ( U R L C l a s s L o a d e r . j a v a : 355 ) a t j a v a . s e c u r i t y . A c c e s s C o n t r o l l e r . d o P r i v i l e g e d ( N a t i v e M e t h o d ) a t j a v a . n e t . U R L C l a s s L o a d e r . f i n d C l a s s ( U R L C l a s s L o a d e r . j a v a : 354 ) a t j a v a . l a n g . C l a s s L o a d e r . l o a d C l a s s ( C l a s s L o a d e r . j a v a : 425 ) a t s u n . m i s c . L a u n c h e r 1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher 1.run(URLClassLoader.java:355)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(URLClassLoader.java:354)atjava.lang.ClassLoader.loadClass(ClassLoader.java:425)atsun.misc.LauncherAppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:655)
    … 1011 more

  • 原因分析
    在一对多的关系中,双方都具有指向彼此的关系,引起无限递归调用导致堆栈溢出。

  • 解决方法
    在多的一方维护的一的一方的属性上加上注解**@JsonBackReference**。

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

智能推荐

H3C路由器配置——静态路由-程序员宅基地

文章浏览阅读7.3k次,点赞6次,收藏37次。一、网络畅通条件及排错思路1、网络畅通的条件网络畅通的条件:数据包能去能回,也是我们排除网络故障的理论依据。2、网络不畅通示列①、目标主机不可达  原因分析:可能是数据包没有到达目的地,在中途就丢去了(绝大部分原因是在去的路上没有配置路由条目)。②、请求超时  原因分析:可能是数据包到了目的地,返不回来(绝大部分原因是在回的路上没有配置路由条目)。3、..._h3添加静态路由

使用MongoDB中Aggregation统计数据_mongodb差值统计-程序员宅基地

文章浏览阅读5.2k次。{ftoc}聚合管道(Aggregation Pipeline)定义聚合管道是MongoDB提供的一种数据统计框架。通过Aggregation操作,能够实现类似于SQL 中Group By操作的功能。由于之前MongoDB中实现聚合操作需使用相对复杂的MapReduce,而聚合管道拥有固定的操作符表达, 使用更为简单。因此,聚合管道能够成为MapReduce_mongodb差值统计

分布式缓存_分布式缓存 专栏-程序员宅基地

文章浏览阅读281次。定义缓存:用于存储数据的硬件或软件的组成部分,以使得后续更快访问相应的数据。缓存是系统快速响应中的一种关键技术,是一组被保存起来以备将来使用的东西,介于应用开发和系统开发之间,是产品经理们经常估计不到的地方,也是技术架构设计中的非功能性约束。分布式缓存是指缓存技术在分布式系统中的应用,主要考虑****等问题。背景如何设计分布式缓存架构分布式redistair..._分布式缓存 专栏

windows2008下用IIS配置PHP环境-程序员宅基地

文章浏览阅读4.4k次。以下安装默认您的windos2008上已经配置好了IIS,并能成功运行。下面内容主要讲在如何利用IIS搭建php服务。如果你是第一次使用windows配置网站,建议先熟悉一下IIS的相关配置。1.下载php安装包: 建议在官网进行下载:http://www.php.net/2.安装php时选择isapi模式; 3.配置IIS: 进入IIS,选择网站-〉ISAPI筛选

redis 数据缓存技术_fpm进程 执行完会关闭redis连接吗-程序员宅基地

文章浏览阅读3.5k次。最近在研究数据缓存技术,了解缓存技术什么?有什么优势?有什么劣势?怎么去使用缓存技术?我主要研究的产品是redis 缓存技术(因为网上好多人都说redis 比 memcahed)缓存技术是什么?传统的数据存储是将数据存储到磁盘上的一种持久化存储(比如Mysql),而redis 是将数据存储在内存当中。有什么优势?读写性能上,在内存中读写数据比在磁盘上读写数据快的多,支持的迸发量也大得多(............_fpm进程 执行完会关闭redis连接吗

STM32F103---标准库函数之驱动RTC_stm32f103用标准库无法使用lse-程序员宅基地

文章浏览阅读1.1k次,点赞4次,收藏4次。要想驱动RTC很简单,查看stm32f10x参考手册找到以下图片内容,就有思路了。经过参考手册介绍LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供一个低功耗且精确的时钟源。我们选用LSE时钟源。根据以上图片作者的思路是: 1.首先使能对应位 进行访问RTC 2.选择对应时钟源 3.配置RTC 4 .选择中断参考如下图便可以写代码了。最后得出代码 ..._stm32f103用标准库无法使用lse

随便推点

Oracle11g默认目录结构-程序员宅基地

文章浏览阅读2.3k次。Oracle11g默认目录结构from: http://www.dbform.com/archives/369Oracle11g到现在为止应该算是正式发布了,基本上主流的操作系统平台版本都已经可以下载了。在自己的机器上安装了一套for Windows 32bit的版本,在Windows平台下安装Oracle一如既往的简单和流畅,安装完软件,DBCA创建数据库,之后让我们来看一下Or..._windows 系统下 oracle 11g 控制文件control1 和 control2 默认目录分别是哪里?

电子常识_二极管档 压降 含义-程序员宅基地

文章浏览阅读953次。电子常识_二极管档 压降 含义

5G MEC分流方案探讨_mec部署条件-程序员宅基地

文章浏览阅读893次。在Multi-homingchag场景下,UPF应支持IPv6多归属(Multi-homing)功能,即一个PDU会话可以与多个IPv6前缀相关联,该UPF作为分支点(Branching Point)连接多个PDU会话锚点UPF,再接入数据网络,并支持提供将不同IPv6前缀的上行业务流转发至不同的PDU会话锚点UPF,以及将来自链路上的不同PDU会话锚点UPF的下行业务流合并到5G终端,可同时作为IPv6多归属的分支点和PDU会话锚点。用户PDU会话经过边缘UPF,通过UL CL分流。_mec部署条件

关于使用vscode断点调试ORB_SLAM2程序时,断点无效的解决方案_orb-slam2断点测试-程序员宅基地

文章浏览阅读516次。需要在CMakeLists.txt 里加set (CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -g”)开启debug 不然断点调试是无效的具体配置见文章https://blog.csdn.net/weixin_39754100/article/details/105200806_orb-slam2断点测试

已解决net start MongoDB 报错:服务名无效_the service name is invalid mongodb-程序员宅基地

文章浏览阅读4.4k次,点赞30次,收藏3次。net start MongoDB 报错:服务名无效_the service name is invalid mongodb

张孝祥java面试大全-程序员宅基地

文章浏览阅读274次。目录1. Java基础部分 41、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 42、Java有没有goto? 43、说说&和&&的区别。 44、在JAVA中如何跳出当前的多重嵌套循环? 45、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 56、short s1 = 1; s1 = s1 + 1;有什..._张孝祥面试宝典

推荐文章

热门文章

相关标签