Sobes.tech
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;