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

Kirim email ke