【发布时间】:2021-08-28 07:04:04
【问题描述】:
当我尝试发出请求时,我有一个包含很多 @ManyToOne 的模型,我有一个递归 Json。
所以,我像这样放了一些 FetchType.EAGER 并且它起作用了:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "comp_doc", referencedColumnName = "comp_doc")
public CompDoc getCompDoc() {
return CompDoc;
}
但是对于几个请求,我不需要所有 @ManyToOne。所以我尝试像这样将 FetchType 更改为 LAZY:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "comp_doc", referencedColumnName = "comp_doc")
public CompDoc getCompDoc() {
return CompDoc;
}
此时,如果我不需要 @ManyToOne 中的数据,通常会将它们从 Json 中排除。
但不是这个(这是我的目标),我现在有一个错误:
直接自引用导致循环(通过引用链: java.util.ArrayList[6021]->org.test.test.model.Document["documentByDocId"]
为什么这个错误出现在 LAZY 而不是 EAGER 上?
【问题讨论】:
标签: json spring-boot hibernate fetch many-to-one