Junior — Middle
Kokios žinomos vėlyvojo ir skubaus įkėlimo strategijos JPA?
sobes.tech AI
Atsakymas iš AI
JPA yra dvi pagrindinės susijusių duomenų įkėlimo strategijos:
-
Dėmesingas įkėlimas (EAGER): susijusios entitės įkeliamos nedelsiant kartu su pagrindine entite. Tai naudinga, kai susiję duomenys yra reikalingi iš karto, tačiau gali sukelti perteklinius užklausimus ir sumažinti našumą.
-
Lėtai įkėlimas (LAZY): susijusios entitės įkeliamos tik pirmą kartą joms prieinant. Tai taupo išteklius, tačiau reikalauja, kad EntityManager sesija būtų atvira prieigos metu, kitaip gali įvykti LazyInitializationException klaida.
JPA pavyzdys su anotacija:
@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;
@OneToOne(fetch = FetchType.EAGER)
private Profile profile;