Back to questions
Junior — Middle
80
Можете объяснить, как работает стратегия загрузки Lazy в JPA/Hibernate?
Companies where asked
DCloud
Answer from AI
sobes.tech AI
Стратегия загрузки Lazy (ленивая загрузка) в JPA/Hibernate означает, что связанные сущности не загружаются сразу при загрузке основной сущности, а только при первом обращении к ним. Это помогает оптимизировать производительность, уменьшая количество данных, загружаемых из базы.
Например, если у вас есть сущность Order с коллекцией items, при загрузке заказа из базы Hibernate не загрузит сразу все items. Они будут загружены только тогда, когда вы вызовете order.getItems().
Пример:
@Entity
public class Order {
@OneToMany(fetch = FetchType.LAZY)
private List<Item> items;
}
При таком подходе Hibernate создаёт прокси-объект для коллекции items, и реальный запрос к базе выполняется только при обращении к этой коллекции.