Sobes.tech
Junior — Middle

Quali tipi di strategie di caricamento lazy e eager in JPA sono conosciuti?

sobes.tech AI

Risposta dell'AI

In JPA ci sono due strategie principali per il caricamento dei dati correlati:

  • Caricamento eager (EAGER): le entità correlate vengono caricate immediatamente insieme all'entità principale. È utile quando i dati correlati sono necessari subito, ma può portare a query eccessive e a una diminuzione delle prestazioni.

  • Caricamento lazy (LAZY): le entità correlate vengono caricate solo al primo accesso. Questo risparmia risorse, ma richiede che la sessione di EntityManager sia aperta al momento dell'accesso ai dati, altrimenti può verificarsi un errore LazyInitializationException.

Esempio di annotazione in JPA:

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

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