【发布时间】:2018-01-28 13:28:36
【问题描述】:
我正面临“无限递归 (StackOverflowError)”错误 并遵循本手册:http://www.baeldung.com/jackson-bidirectional-relationships-and-infinite-recursion 我试图在我的情况下解决它,但在我的情况下似乎不同的原因是对象指向自身。
我的意思是,我有这个对象:
public class PRBOperatorId implements Serializable {
private static final long serialVersionUID = 1L;
public PRBOperatorType type = null;
public PRBOperatorId parentId = null;
public PRBOperatorId childId = null;
public String name = null;
public String[] formats = null;
public String description = null;
public String[] examples = null;
public String returnedFormat = null;
public String comments = null;
服务正在使用它来使用递归方法获取根 Operator 的所有 Operator:
@Override
public PRBOperatorId[] getAllChildren() {
LinkedList<PRBOperatorId> list = new LinkedList<PRBOperatorId>();
return getAllChildrenRec(operatorsRoot.getId(), list).toArray(new PRBOperatorId[list.size()]);
}
public Collection<PRBOperatorId> getAllChildrenRec(PRBOperatorId rootId, LinkedList<PRBOperatorId> childrenIds) {
try {......
我不是通过 java 对象映射数据库表(我实际上并没有对象之间的一对多关系),我只是想在我的逻辑上创建一个 Spring 休息控制器服务。
我该如何解决?
谢谢。
【问题讨论】: