Sobes.tech
Junior — Middle

Koje vrste strategija lenjivog i žurnog učitavanja u JPA su poznate?

sobes.tech АИ

Одговор од АИ

U JPA postoje dve glavne strategije učitavanja povezanih podataka:

  • Željno učitavanje (EAGER): povezane entitete se učitavaju odmah zajedno sa glavnom entitetom. Ovo je korisno kada su povezani podaci odmah potrebni, ali može dovesti do prevelikog broja upita i smanjenja performansi.

  • Lazno učitavanje (LAZY): povezane entitete se učitavaju samo pri prvom pristupu. Ovo štedi resurse, ali zahteva da sesija EntityManager bude otvorena u trenutku pristupa podacima, u suprotnom može doći do greške LazyInitializationException.

Primer anotacije u JPA:

@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;

@OneToOne(fetch = FetchType.EAGER)
private Profile profile;