2008/7/1 Bustanil Arifin <[EMAIL PROTECTED]>:
> jika jumlah rekening yang 'aktif' untuk produk dengan id '1' adalah 3
> berarti hasilnya kan 1x1x3 row.
> Bukannya hibernate seharusnya secara "pintar" membuat satu objek produk
> mengisi property2nya kemudian mengisi collection rekening dengan 3 obje
Maaf, ralat querynya seharusnya seperti ini:
select produk from Produk produk join fetch JenisProduk jp left outer join
fetch produk.rekening rekening where produk.id = '1' and rekening.status =
'aktif'
2008/7/1 Bustanil Arifin <[EMAIL PROTECTED]>:
> Thx mas Endy atas penjelasannya yang detil (ja
Thx mas Endy atas penjelasannya yang detil (jadi pengen ditraining lagi
hehe)
Kalau misalnya relasinya seperti ini:
JenisProduk1..* Produk 1..* Rekening
kemudian querynya adalah:
select p from Produk p join fetch JenisProduk jp left outer join fetch
p.rekening rekening where produk.id =
2008/6/27 Bustanil Arifin <[EMAIL PROTECTED]>:
> Itu dia si jali2. Saya pakai left outer join fetch, trus saya get object yg
> one-nya (getSingleResult) malah dapat NonUniqueResultException.
Untuk menghindari LIE di sisi client, ada beberapa solusi,
masing-masing punya trade-off sendiri.
1. Mappin
jangan lupa kadang kala outer join bisa menyebabkan duplicate record.
contoh solusinya -> select distinct cfg from
Clientnya desktop app menggunakan SWT. Yang jelas lazy loading tidak akan
berfungsi di sisi client.
2008/6/28 sutarsa giri <[EMAIL PROTECTED]>:
> Aplikasi saya kemarin(berbasis web), data saya taruh ke dalam session,
> dan ada page-page anaknya yang membaca data dari session untuk menampilkan
>
Aplikasi saya kemarin(berbasis web), data saya taruh ke dalam session, dan
ada page-page anaknya yang membaca data dari session untuk menampilkan
datanya. Dan LIE beberapa kali terjadi.Solusi saya kemarin sih saya
telurusuri semua node yang saya perlukan untuk merender data
data.getx().getY.getZ()
Itu dia si jali2. Saya pakai left outer join fetch, trus saya get object yg
one-nya (getSingleResult) malah dapat NonUniqueResultException. Querynya
seperti ini:
"select cfg from SertifikatDepositoConfig cfg left outer join fetch
cfg.charges chrg join cfg.appl appl where appl.apptype = :apptype an
> IMO cukup initialize theCollection saja Pak :)
IMO better use join fetch untuk mengurangi jumlah query yang diselect.
Kalau pake initialize, isi collectionya akan diquery ulang, kalao pake
HQL join fetch nanti query-nya adalah join, bukan multiple select
--
Senior Engineer @ ArtiVisi Intermed
IMO cukup initialize theCollection saja Pak :)
F
- Original Message
From: Bustanil Arifin <[EMAIL PROTECTED]>
To: jug-indonesia@yahoogroups.com
Sent: Friday, June 27, 2008 11:19:36 AM
Subject: [JUG-Indonesia] Hibernate.initialize() ?
Kalau kita ingin menginisialisasi lazy-
kenapa?
On Fri, Jun 27, 2008 at 11:19 AM, Bustanil Arifin
<[EMAIL PROTECTED]> wrote:
> Kalau kita ingin menginisialisasi lazy-loaded collection. Kita cukup pake
>
> Hibernate.initialize(theCollection);
>
> atau harus per elemen?
>
> for(Element e : theCollection){
> Hibernate.initialize(e);
Kalau kita ingin menginisialisasi lazy-loaded collection. Kita cukup pake
Hibernate.initialize(theCollection);
atau harus per elemen?
for(Element e : theCollection){
Hibernate.initialize(e);
}
--
Bustanil Arifin
RnD - PT.Collega Inti Pratama
12 matches
Mail list logo