Namedquery hrs diletakan di entitynya ga? Diletakkan di dao bisa? Ok jg nih querynya dicek dl waktu strart up.
On 2/4/10, Jecki <jecki...@gmail.com> wrote: > HQL bisa digunakan untuk NamedQuery yang otomatis akan di-compile pada saat > hibernate startup. Jadi ini cukup membantu karena mengurangi runtime error > (tergantung definisi runtime-nya). > > Dengan NamedQuery juga berarti HQL bisa memanfaatkan fitur query cache. > Implementasi di belakangnya mungkin berupa PreparedStatement (ini dugaan > saja). Jadi query SQL tidak selalu digenerate on the fly, tapi hanya sekali > saja CMIIW. > > Criteria otomotatis tidak mendapatkan manfaat dari NamedQuery. Jadi SQL > selalu digenerate on the fly pada saat dipanggil. Keuntungannya sangat > dinamis karena field yang akan di-compare bisa disusun saat runtime, > tergantung kondisi2 yang dibutuhkan. > > Sepertinya untuk soal refactoring Criteria juga tidak membantu banyak. Hanya > bisa untuk refactoring class. Tapi kalau sudah refactoring field sepertinya > sama saja dengan HQL. Jadi untuk kasus ini safety net yang tepat adalah Unit > Test. > > > 2010/2/4 Daniel Baktiar <dbakt...@gmail.com> > >> >> >> menurut gue: >> >> kalau masih bisa pakai Criteria, lebih baik pakai Criteria. ada lebih >> banyak safeguard kalau menggunakan Criteria, walaupun belum mencapai apa >> yg >> diperlukan di tingkat ideal. alasannya maintanability. >> >> >> Criteria menggunakan java object, sehingga kalau model berubah, type >> checking dan refactoring berjalan dengan baik. >> >> bila menggunakan HQL, perubahan type, refactor dsb, akan gagal pada saat >> run time, bukan pada saat compile time. >> >> kalau untuk maintainability dan source code sudah ribuan class, disuruh >> memilih compile time error atau runtime error, saya akan pilih warning >> compile time. >> >> sekali lagi, seperti disebutkan di atas, walaupun menggunakan Criteria >> tidak menjamin bahwa semua perubahan yang tidak valid akan membuat compile >> time error bila menggunakan Criteria, tetapi masih lebih baik daripada >> menggunakan HQL. untuk HQL sebagian besar ketidakkonsistenan yg >> diakibatkan >> perubahan hanya akan muncul saat runtime. >> >> >> ada juga hal yang positif bila menggunakan HQL semua, semua coding query >> akan memiliki konsistensi bentuk. query menggunakan Criteria bentuknya >> lebih >> variatif. dan bahasa HQL lebih powerful (bisa menentukan join criteria dan >> fetch strategy etc). >> >> > -- Sent from my mobile device http://ifnu.artivisi.com +62 856 9211 8687 regards