java 默认情况下不洛丁连接实体的Hibernate连接

6yoyoihd  于 2023-04-19  发布在  Java
关注(0)|答案(1)|浏览(105)

我想使用一个连接,但默认情况下不洛丁连接实体。

@Entity 
public class Author { 
  @Id 
  private Long id; 
  private String name; 
  private String genre; 
  private int age; 
   
  @OneToMany 
  private List<Book> books = new ArrayList<>(); 
  ...
}

@Entity 
public class Book { 
  @Id private Long id; 
  private String title; 
  private String isbn; 

  @ManyToOne(fetch = FetchType.LAZY) 
  @JoinColumn(name = "author_id") 
  private Author author; 
  ... 
}

如果我通过

criteriaQuery.select(rootAuthor)

所有作者的所有书籍都已加载。
如何在默认情况下防止加载连接的图元,而仅在寻址图元时加载它们?

xtupzzrd

xtupzzrd1#

您还可以将FetchType.LAZY添加到Author类中的books对象,以延迟加载图书。

@OneToMany(fetch = FetchType.LAZY)
private List<Book> books = new ArrayList<>();

相关问题