On Nov 14, 2007 12:59 PM, Edward Yakop <[EMAIL PROTECTED]> wrote: > > On Nov 14, 2007 3:50 AM, Joshua Jackson <[EMAIL PROTECTED]> wrote: > > Dear all, > > > > Mau minta pendapatnya. Bagaimana strategi kalian kalau ingin melakukan > > multiple delete dengan Hibernate (misalnya list yang di tick dari > > checkbox). Parameter yang dikirim ke Hibernate kira-kira berupa apa > > ya? Apakah Collection of id. Atau meloop method delete tersebut? > > Tergantung dari cara delete tersebut. > Apakah ada cascade delete/all atau tidak. > Apakah data yang kamu pengen delete punya version number yang sama > dengan database. (Jika memakai @Version) > > Yang saya tahu, hibernate bakal coba check version dengan satu query > dan jika pass, delete semua rows yang di mark delete sama hibernate > dengan satu statement. > > Tentunay tergantung dengan apa yang mau di delete, mungkin lebih > gampang dengan menggunakan HQL buat mass delete. Contoh, Delete data > yang dimodify sebelum 2002 (setelah data telah di archive tentunya). > Dengan cara ini, hibernate bakal kirim sql statement yang lebih > performant, jika dibanding kan dengen > delete from tableA where id in [ 1, 2, 3,4,5,6,7,8,9, .... ] > vs. > delete from tableA where modifiedDate < [date] >
sekedar informasi kalau penggunaan HQL untuk update/delete itu akan menyebabkan ketidaksinkronan antara database dan hibernate session. yang lebih disarankan sebenernya menggunakan method Session.delete dari hibernate (datanya di-load dulu). tapi kalau datanya banyak mungkin pake native sql saja.