0

我有 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 获取,我得到一个无限循环。我尝试了很多东西,但似乎没有任何效果。

知道我错过了什么吗?

谢谢!

4

0 回答 0