Junior — Middle
JPA'da bilinen tembel ve açgözlü veri yükleme stratejileri nelerdir?
sobes.tech yapay zeka
AI'dan gelen yanıt
JPA'da ilişkili verilerin yüklenmesi için iki temel strateji vardır:
-
EAGER (İstekli): ilişkili varlıklar, ana varlıkla birlikte hemen yüklenir. Bu, ilişkili verilere hemen ihtiyaç duyulduğunda kullanışlıdır, ancak aşırı sorgulara ve performans düşüşüne neden olabilir.
-
LAZY (Tembel): ilişkili varlıklar, yalnızca ilk erişimde yüklenir. Bu, kaynak tasarrufu sağlar, ancak erişim sırasında EntityManager oturumunun açık olması gerekir; aksi takdirde LazyInitializationException hatası alınabilir.
JPA'da anotasyon örneği:
@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;
@OneToOne(fetch = FetchType.EAGER)
private Profile profile;