Java 使用hibernate和@JsonIgnore获取oneToMany和manytone

Java 使用hibernate和@JsonIgnore获取oneToMany和manytone,java,hibernate,Java,Hibernate,我有一个表A,它和表B有一个单一的关系 意思是B在许多方面都是相关的,这两种关系都设置为“渴望” 我看到了,除非我把下面的注释 @JsonIgnore 在表B上的许多意义上,我得到一个错误无限循环 为了从表A中获取数据,我从表C到表B得到的是空的,因为这个注释 我的问题是:如何从表A和表B中获取信息?也许@JsonIgnore是错误的? 我的hibernate版本是5.1.7,我认为这与hibernate没有任何关系。 你到底什么时候得到这个错误的?我假设您正在整理数据 这正是@JsonIgn

我有一个表A,它和表B有一个单一的关系 意思是B在许多方面都是相关的,这两种关系都设置为“渴望” 我看到了,除非我把下面的注释

@JsonIgnore
在表B上的许多意义上,我得到一个错误无限循环 为了从表A中获取数据,我从表C到表B得到的是空的,因为这个注释 我的问题是:如何从表A和表B中获取信息?也许@JsonIgnore是错误的?
我的hibernate版本是5.1.7,我认为这与hibernate没有任何关系。 你到底什么时候得到这个错误的?我假设您正在整理数据

这正是@JsonIgnore有帮助的原因。
如果没有它,封送类B的对象包括A对象。编组A的对象包括所有相关的B对象。你明白了吗?

@JsonIgnore说:这个字段不需要用JSON显示。Jackson库不会尝试填充此字段

但是一旦你删除了@JsonIgnore,就会导致Jackson不断地调用来获取A的B数据,然后是B的A数据,这个调用进入Hibernate,你就会得到一个错误

你可以

重新思考你的模式 使用DTO对象 生成自定义查询,然后生成响应
我会先检查选项2,可能是选项1。

谢谢,但我不明白marshling是什么意思……在任何情况下,我该如何解决我的问题?@RMagen你可以从谷歌搜索Marshaling是什么开始。谢谢,我害怕这个答案:-,我会选择选项1。