我有 2 个实体:
public class Foo {
@OneToMany(fetch = FetchType.LAZY, mappedBy = "foo")
@JsonManagedReference
private List<Bar> bars;
}
public class Bar {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn("foo_id")
@JsonBackReference
private Foo foo;
}
当我获取数据库时这很好用,但是由于延迟加载,当我想在将数百个 Foo 映射到 DTO 后将它们发送到 UI 时,它会很慢。
我试图用 EntityGraph 解决这个问题,但是当我像这样将 Bar 列表放入 EntityGraph 时:
@NamedEntityGraph(
name = "foo.graph",
attributeNodes = {
@NamedAttributeNode("bars")
}
)
@Entity
public class Foo {...
并尝试使用 EntityGraph 获取,我得到一个无限循环。我尝试了很多东西,但似乎没有任何效果。
知道我错过了什么吗?
谢谢!