Junior — Middle
130
JPA-да жалқау жүктеу дегеніміз не және оның артықшылықтары мен кемшіліктері қандай?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Отложенная загрузка (Lazy Loading) в JPA — это механизм, при котором связанные сущности или коллекции не загружаются из базы данных сразу при загрузке основной сущности, а только при первом обращении к ним в коде.
Преимущества:
- Экономия ресурсов и времени при загрузке, если связанные данные не всегда нужны.
- Снижение объёма передаваемых данных и нагрузки на базу.
Недостатки:
- Возможность возникновения ошибки
LazyInitializationException, если доступ к отложенно загруженным данным происходит вне контекста сессии EntityManager. - Потенциальное увеличение количества SQL-запросов (проблема N+1).
Пример настройки отложенной загрузки для связи @OneToMany:
@Entity
public class Author {
@OneToMany(fetch = FetchType.LAZY, mappedBy = "author")
private List<Book> books;
}
Здесь список книг автора загрузится только при обращении к author.getBooks().