Junior — Middle
105
Können Sie erklären, was die Einstellung FetchType im Kontext von ORM bedeutet und wie sie die Ladeweise der verbundenen Daten beeinflusst?
Unternehmen wurden gefragt
DCloud
Antwort von AI
sobes.tech KI
В ORM (например, в JPA/Hibernate) настройка FetchType определяет стратегию загрузки связанных сущностей из базы данных. Существует два основных типа загрузки:
-
FetchType.EAGER— связанные данные загружаются сразу вместе с основной сущностью (жадная загрузка). Это удобно, когда связанные данные нужны всегда, но может привести к избыточным запросам и снижению производительности. -
FetchType.LAZY— связанные данные загружаются только при первом обращении к ним (ленивая загрузка). Это экономит ресурсы, но требует активной сессии ORM для подгрузки данных по требованию.
Пример:
@Entity
public class Order {
@OneToMany(fetch = FetchType.LAZY)
private List<Item> items;
}
Здесь список items загрузится из базы только при обращении к нему, а не сразу при загрузке Order.