我正在使用@JsonIgnore,仍然收到StackoverflowError。
有一个循环,注释将被忽略。
@Entity
@NamedQuery(name="Buch.findAll", query="SELECT b FROM Buch v")
public class Buch implements Serializable {
private static final long serialVersionUID = 1L;
...
//bi-directional many-to-one association to Titel
@OneToOne(mappedBy="buch")
@JsonIgnore
private Titel Titel;
...
@JsonIgnore
public Titel getTitel() {
return this.verein;
}
@JsonIgnore
public void setTitel(Titel titel) {
this.titel= titel;
}
}
最佳答案
好了,您的代码中存在几个问题:
@JsonIgnore
注释与字段及其字段一起使用访问器(getter和setter),您不应这样做,仅映射一个
他们足够了。我建议您仅将getter方法与
@JsonIgnore
。 Titel
的getter
方法不正确实现,它应该返回
Titel
字段,但您正在返回this.verein
,这是完全错误的,并且会弄乱您的代码,您需要对其进行更正。
我在这里建议的是仅将
@JsonIgnore
与一起使用您需要更正的getter方法:@JsonIgnore
public Titel getTitel() {
return this.Titel;
}