我有一个Questions实体,其中包含以下选项列表:
@OneToMany(mappedBy = "question")
List<Option> options;
在Options实体中,我将关系指定为:
@ManyToOne
@JoinColumn(name="question_id")
Question question;
当我点击/api/questions
时,它工作正常但是当我点击/api/questions/1
时,它会给出java.lang.StackOverflowError:null
我做错了什么?
答案 0 :(得分:2)
这是因为Option指的是选项的问题和问题。你应该添加 @JsonIgnore给你的一个类,以防止无限链接到彼此。 toString()方法也是如此。如果您使用Lombok或生成默认的toString方法,它也可能导致statckoverflow。因为类链接到类。要防止这种情况,请尝试在toString方法之一中排除类上的链接。 在Lombok的@ToString注释中添加exclude语句并排除Option或Question。也许你调用toString方法,case case循环。 @ToString(exclude = {&#34; option&#34;})