--- In jug-indonesia@yahoogroups.com, Joshua Partogi <joshua.j...@...> wrote: > > Clearly Eager fetching itu bukan solusi yang elegan. Tetapi nambahin > left join fetch atau inner join fetch di HQL-nya juga kurang elegan, > karena secara tidak langsung kita sudah 'secara implisit memberi tahu > untuk mem-fetch object tersebut' yang akhirnya menambah query (kalau > liat di log-nya). Secara semantik seharusnya si webframework dapat > menghandle: > "Ok disini gw mengambil object yang penting dulu, tapi nanti ketika gw > butuh yang lain, tolong ambilin" > > Jadi misalnya gw punya: > > class Product{ > Category c; > } > > class Category{ > } > > Di HQL gw cukup ambil Product saja: "from Product p" karena memang > butuhnya cuman itu. > > Tapi ketika di view gw tarik: product.getCategory() si framework bisa > secara cerdas mengambil category tanpa men-throw LIE. > > Bukankah tujuan dari Lazy initialization adalah seperti itu? >
Maaf sebelumnya.. saya mo tanya.. :) AFAIK memang Fetch.EAGER jadi bikin "double Query".. klo untuk tabel yang master detail (1-N) ?.. solusi yang baiknya gimna yach?.. klo pake native SQL gimna yach?.. jadi 2 kali select.. yg pertama untuk ambil si master.. yg kedua untuk ambil si detail.. return yg dihasilkan jadi List<Object[]>.. klo dilihat di lognya sih querynya lebih "sedikit".. OSIV apakah baik untuk diimplementasikan?.. menurut komentarnya Pak Endy.. itu akan menyebabkan "leaky abstraction".. mohon pencerahannya yach saya masih kurang paham.. :) terima kasih sebelumnya yach.. :)