Sobes.tech
Junior — Middle
141

FetchType Eager və Lazy məlumat yükləmə rejimlərini necə ayırd etmək və onların əsas fərqləri nədir?

AI-dan cavab

sobes.tech Süni İntellekt

В JPA (Java Persistence API) режимы загрузки FetchType определяют, когда связанные сущности загружаются из базы данных:

  • EAGER (жадная загрузка) — связанные данные загружаются сразу вместе с основной сущностью. Это удобно, когда связанные данные точно нужны, но может привести к избыточным запросам и нагрузке.

  • LAZY (ленивая загрузка) — связанные данные загружаются только при первом обращении к ним в коде. Это экономит ресурсы, но может вызвать ошибку LazyInitializationException, если сессия уже закрыта.

Пример:

@Entity
public class Order {
    @OneToMany(fetch = FetchType.LAZY)
    private List<Item> items;
}

Здесь items загрузятся только при вызове order.getItems(), а не сразу при загрузке Order.