Sobes.tech
Junior — Middle

Jak zaimplementowałeś leniwe ładowanie danych podczas korzystania z Hibernate?

sobes.tech AI

Odpowiedź od AI

W Hibernate można zaimplementować leniwe ładowanie danych za pomocą adnotacji @OneToMany(fetch = FetchType.LAZY) lub podobnych dla innych relacji. Oznacza to, że powiązane encje nie są ładowane od razu przy wyborze głównej encji, lecz dopiero przy pierwszym odwołaniu się do nich.

Przykład:

@Entity
public class User {
    @OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    private Set<Order> orders;
}

W tym przykładzie kolekcja orders zostanie załadowana z bazy danych dopiero przy pierwszym wywołaniu user.getOrders(). Pomaga to zoptymalizować wydajność, zmniejszając ilość ładowanych danych, jeśli powiązane obiekty nie są od razu potrzebne.