gpt4 book ai didi

spring - 具有一对多关系的 Spring Boot 的无限循环

转载 作者:行者123 更新时间:2023-12-03 21:39:47 24 4
gpt4 key购买 nike

在休息应用程序中,我使用带有 jpa 的 spring boot。

我有一个类房客

谁有

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "lodger")
private List<Reference> referenceList;

在我的课引用中,我有
@ManyToOne
@JoinColumn(name = "lodgerId")
private Lodger lodger;

当我调用这个方法时
@RequestMapping(value = "/lodgers/{lodgerId}", method = RequestMethod.GET)
public Lodger getLogderById(@PathVariable("lodgerId") long lodgerId) {
return lodgerService.getLodger(lodgerId);
}

我收到这个错误
org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: Infinite recursion (StackOverflowError) (through reference chain: server.bean.Lodger["referenceList"]->org.hibernate.collection.internal.PersistentBag[0]->server.bean.Reference["lodger"]->server.bean.Lodger["referenceList"]->org.hibernate.collection.internal.PersistentBag[0]->server.bean.Reference["lodger"]->server.bean.Lodger["referenceList"]...

最佳答案

解决方案:


@JsonManagedReference实例化的第一个对象的注释
@JsonBackReference实例化的第二个对象的注释

第一的:

@JsonManagedReference
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "lodger")
private List<Reference> referenceList;

第二:
@JsonBackReference
@ManyToOne
@JoinColumn(name = "lodgerId")
private Lodger lodger;

关于spring - 具有一对多关系的 Spring Boot 的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30892298/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com