İçeriğe geç

Eksik Eager Yükleme (ARCH4051)

Anahtar java.orm.missing-eager-load · Önem warning · Kategori orm

İlişkili veriyi tüketecek bir sorguda eager yükleme (JOIN FETCH / entity graph) bildirilmemesi, çalışma zamanında N+1’e yol açar. İlişkiyi sorgu seviyesinde açıkça eager yükleyin.

@Query("SELECT a FROM Author a")
List<Author> findAllAuthors();
List<Author> authors = findAllAuthors();
authors.forEach(a -> render(a.getBooks())); // books lazy -> N sorgu
@Query("SELECT a FROM Author a JOIN FETCH a.books")
List<Author> findAllWithBooks();
List<Author> authors = findAllWithBooks();
authors.forEach(a -> render(a.getBooks()));

İlişkili koleksiyon tüketilecekse sorguya JOIN FETCH veya @EntityGraph ekleyin.