Jackson无限循环多对一一对多关系

2023-12-21

我有两个模型:

Parent:
id     name       childrenIds
1      parent1    1,2
2      parent2    3

Child
id     parentId
1      1
2      1
3      2

当我尝试使用 Jackson 序列化此模型时,发生堆栈溢出错误。

我尝试使用此问题中提到的解决方案来解决我的问题:Jackson JSON 和 Hibernate JPA 问题的无限递归 https://stackoverflow.com/questions/3325387/infinite-recursion-with-jackson-json-and-hibernate-jpa-issue

  • 但是当我使用时@JsonIgnore我根本无法访问子节点或父节点。
  • 当我使用时@JsonManagedReference and @JsonBackReference注释,只有一种方式可以进行序列化。意味着如果childrenIds在标记为 JsonManagedReference 的父对象中,序列化子对象不包含父对象
  • 与使用@JsonIdentityInfo,每个对象只序列化一次。意味着序列化后,children[0].parent 具有值,但 Children1 https://stackoverflow.com/questions/3325387/infinite-recursion-with-jackson-json-and-hibernate-jpa-issue.parent 未定义,因为 parnt1 已序列化一次

如何使用 Jackson 序列化对象,并具有完全的双向访问


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jackson无限循环多对一一对多关系 的相关文章

随机推荐

  • Qt:QGraphicsScene 在我期望的时候没有更新

    好的 我有一个QGraphicsScene在一个叫做 眼睛 的课程中 我调用一个函数 void eye playSequence int sequenceNum for int i 0 i
  • 如何从 mysql 表中转储 blob 字段

    我正在尝试从 mysql 表中转储 BLOB 字段 但是当我使用 sqlYog 转储 blob 记录时 我得到了无价值的数据 如何备份 BLOB 类型字段 Note BLOB 字段有图像 参数 十六进制斑点当您打算将其导入到另一个数据库 如
  • 枚举与强类型枚举

    我是 C 编程的初学者 今天遇到一个新话题 强类型enum 我已经研究了一些 但到目前为止我无法找出为什么我们需要这个以及它有什么用 例如 如果我们有 enum xyz a b c a 0 b 1 c 2 Typical C format
  • matplotlib:直方图和 bin 标签

    I m trying to plot a histogram with bar chart and I m having difficulties figuring out how to align the x axis labels wi
  • 按住按键时 Swing 中的文本输入字段在 OS X 上停止工作

    我发现 OS X Yosemite 使用 Oracle JDK 8 上的 Swing 文本输入字段存在一个奇怪的问题 当我在文本输入字段获得焦点时按住任何字母或数字键时 我之后就无法再在当前 JFrame 的任何字段中输入任何内容 然后我必
  • 直接在浏览器中使用 jquery/flash 录制网络摄像头视频?

    我想让用户通过网络摄像头录制视频 然后通过浏览器将录制的视频上传到网站 这是一个完全按照我希望的网站工作方式工作的示例 只不过它似乎不捕获视频 而只是捕获图像 http www xarg org project jquery webcam
  • 新版本 Hibernate 的 hibernate3-maven-plugin 依赖项

    我想将 hibernate 3 5 1 Final 与此插件一起使用 这里我的依赖项应该是什么 它似乎正在拿起一组旧的罐子 但现在失败了
  • 无法获取项目参考的依赖项

    我有一个包含网站项目和 C 库的 C 解决方案 编译解决方案时 网站给出消息 无法获取项目引用 MyLibrary 的依赖项 当此错误消息使构建失败时 这不会停止网站编译和运行 直到我尝试使用 TFS 构建来构建它 这是什么意思 我该如何解
  • 我如何在 VBA 中调用 WebView2 和其他现代 winmd 功能

    我想在旧式 VBA 用户窗体中嵌入现代 WebView2 组件 Edge Chromium 浏览器控件 我推测我需要在系统上安装以下内容 Edge Chromium 浏览器 Webview2 SDK 虽然我安装了 Edge Chromium
  • 提交日志增长的问题

    我有一台机器 提交日志不断增加到 7 8 GB 并且仍在增长 我检查了一个属性commitlog total space in mb 8192这是在 cassandra yaml 中注释的 我怀疑它必须是默认的 1 增加提交日志大小有什么问
  • Spark 结构化流 - 对不同的 GroupBy 键使用不同的 Windows

    目前 我通过 Spark 结构化流媒体读取 Kafka 主题后得到了下表 key timestamp value key1 2017 11 14 07 50 00 0000 10 key1 2017 11 14 07 50 10 0000
  • 将 DataFrameGroupBy 对象中的每个分组列转换为列表

    这是数据 df pd DataFrame date 1 1 2 2 2 3 3 3 4 5 request 2 2 2 3 3 2 3 3 3 3 users 1 3 7 1 7 3 4 9 7 9 count 1 1 2 3 1 3 1
  • 无效的视图状态、Base-64 字符数组或字符串的长度无效

    我时不时会遇到这个错误 ExecuteStep at line 0 at Column 0 状态信息对此页无效 并且可能已损坏 无效的视图状态 内部异常 Application Error 中未处理的异常 在加载行 0 和列 0 Base
  • 动态链接和动态加载有什么区别

    我认为 动态加载意味着在加载或运行时将库 或任何其他二进制文件 加载到内存中 因此 在下面的程序中 当 dlopen 调用的动态加载器将出现时 如果库尚未加载 它将把库加载到内存中 动态链接是指在加载或运行时完成的链接 它解决了外部引用 因
  • Laravel TokenMismatchException 会话超时

    我遇到一个问题 当用户闲置超过 24 小时 我的会话超时 或者离开网站并在 24 小时后返回时 他们不会从网站注销 但他们的会话正在被注销已过期 或者至少他们的 token 不再有效 这会导致不必要的行为 就好像用户在 token 过期后提
  • MAC:Mono Helloworld 示例

    我在 OSX Yosemite 上全新安装了 Mono 并尝试了以下示例http www mono project com docs getting started mono basics http www mono project com
  • eclipse 上“资源”目录放在哪里

    我的项目是一个 Eclipse Java 项目 它的结构是 游戏 src 游戏 资源 但这段代码返回一个异常 image new ImageIcon new URL resources Monster png java net Malfor
  • 在沙盒中哪里可以找到奇点定义文件

    我正在尝试学习奇点 所以我从他们的库中提取了这个例子 singularity pull library sylabsed examples lolcow 拉取后 我想检查该映像内的目录是什么 以及是否有任何用于构建映像的定义文件 因此我通过
  • 在网页上渲染 PDF

    我们正在尝试使用以下方式在网络浏览器中加载 pdf 文件pdf对象 http pdfobject com JavaScript API 目前我们尝试显示的 pdf 大小接近 10MB 这会导致网页上显示 PDF 时出现较长的延迟 同时下载完
  • Jackson无限循环多对一一对多关系

    我有两个模型 Parent id name childrenIds 1 parent1 1 2 2 parent2 3 Child id parentId 1 1 2 1 3 2 当我尝试使用 Jackson 序列化此模型时 发生堆栈溢出错