English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Lazy и Eager - это два типа стратегий загрузки данных в ORM, такие как Hibernate и Eclipse Link. Когда класс сущности ссылается на другие сущности (например, Employee и Phone (телефон сотрудника)), мы используем эти стратегии загрузки данных.
Отсроченная загрузка- Данные о关联е загружаются только тогда, когда мы явно вызываем метод getter или size.
Используйте отсроченную загрузку при использовании множества к одному.
Используйте «отсроченная загрузка», когда вы уверены, что не используете связанные сущности.
Eager загрузка- Загрузка данных происходит при получении родительского элемента.
Используйте «срочная загрузка», когда у вас не так много отношений. Таким образом, срочная загрузка - это хорошая привычка для уменьшения дальнейших запросов на сервере.
Используйте «срочная загрузка», когда вы уверены, что хотите использовать principal entity везде.
Номер | Ключ | Отсроченная | Срочная |
---|---|---|---|
1 | Стратегия извлечения | В случае отсроченной загрузки данные о关联е загружаются только тогда, когда мы явно вызываем метод getter или size. | В случае срочной загрузки данные загружаются при получении их родительского элемента |
2 | Стратегия по умолчанию в ORM-слое | По умолчанию, ManyToMany и OneToMany отношения используют стратегию отсроченной загрузки. | По умолчанию,ManyToOne и OneToOne отношения используют стратегию отсроченной загрузки. |
3 | Загрузка конфигурации | Его можно включить с помощью параметра комментария: fetch = FetchType.LAZY | Его можно включить с помощью параметра комментария: fetch = FetchType.EAGER |
4 | Производительность | Время загрузки по умолчанию короче, чем при срочной загрузке | Загрузка избыточных данных может повлиять на производительность |