java - @Fetch(FetchMode.SELECT) 和 fetch = FetchType.LAZY 的区别

标签 java hibernate orm

我想知道为什么我们需要同时使用 @Fetch(FetchMode.SELECT) 和 fetch = FetchType.LAZY .fetchMode.select 本身告诉我们所有的关联都应该被加载为惰性的那么为什么另一个术语? `

@OneToMany(fetch = FetchType.LAZY, mappedBy = "stock")
@Cascade(CascadeType.ALL)
@Fetch(FetchMode.SELECT)
@BatchSize(size = 10)
public Set<StockDailyRecord> getStockDailyRecords() {
return this.stockDailyRecords;
}

`

最佳答案

FetchType.LAZY:指何时 Hibernate 将获取关联和实体。
@Fetch(FetchMode.SELECT):指如何 Hibernate 将获取关联和实体。

关于java - @Fetch(FetchMode.SELECT) 和 fetch = FetchType.LAZY 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34964484/

相关文章:

java - 每个用户在通过他/她的凭据登录时都有自己的列出的数据

java - 什么时候可以/应该全力使用 ORM 方法?

mysql - Eloquent ORM 导致 MySQL 选择不返回所有行

java - Class.getDeclaredConstructor 是否只返回公共(public)构造函数?

java - pH 值 - 不断返回相同的答案

java - 使用 keytab 文件连接到 Impala 的 jdbc URL

php - Laravel 4.2 中 whereHas 查询的 orderBy

java - struts2中的 session 超时

java - 如何在 Java 中将 "null"值分配给 int[] 数组中的单个元素

java - JPA 一对多与多对多 - 书籍和作者