Sobes.tech
Junior — Middle

Ako ste implementovali lazy loading dát pri použití Hibernate?

sobes.tech AI

Odpoveď od AI

V Hibernate je možné implementovať lazy loading dát pomocou anotácie @OneToMany(fetch = FetchType.LAZY) alebo podobných pre iné vzťahy. To znamená, že s nimi nesúvisiace entity sa nenačítajú okamžite pri výbere hlavnej entity, ale až pri prvom prístupe.

Príklad:

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

V tomto príklade sa kolekcia orders načíta z databázy až pri prvom volaní user.getOrders(). Toto pomáha optimalizovať výkon znižovaním množstva načítaných dát, ak sú prepojené objekty potrebné až neskôr.