> Halo rekan2 pengguna velocity hibernate struts, mohon pencerahannya.
> Belakangan ini saya mendapatkan permasalahan dengan hibernate pada
> velocity, untuk pengaksessan object graph. Contoh kasus seperti ini.
>
> ada 4 buah POJO yang menampilkan hubungan relasi
>
> Account Profile
> +--------------+ +-----------+
> | accountId | lazy | name |
> | password | < 1 ------ * > | address |
> +--------------+ | phone |
> ^ +-------------+
> |
> |extends DailySalesplan
> +---------------+ lazy +-----------------------------------+
> | salesMan | -----------> | todaySalesAchievement |
> +----------------+ | todaySalesTarget |
> +------------------------------------+
>
> Pada velocity saya mencoba untuk menampilkan report Harian salesman,
> dengan berharap menggunakan mekanisme object graph bertumpu melalui
> object Salesman. Yang dilakukan dengan cara
>
> $!salesman.dailySalesplan.todaySalesAchivement
> etc..
> #foreach($profile in $salesman.profile)
> $!profile.name
> etc...
> #end
>
> Permasalahan muncul dikarenakan hibernate Session sudah ditutup saat
> Velocity Servlet mencoba mengakses relasi object graph yang lazy.
> Sehingga tampilan di halaman velocity yang ada hanyalah text kosong.
>
> Sekedar informasi,.. hibernate session dibuka dan di tutup saat struts
> Action di panggil. Setelah itu barulah velocity servlet dipanggil oleh
> actionForward.
>
> Saya sudah coba bandingkan dengan mekanisme yang ada di sample
> CaveatEmptor .... menggunakan ThreadLocal pattern untuk mengatur
> mekanisme Session dan Transaction sebagai interceptor.Akan tetapi
> karena CaveatEmptor menggunakan standar Servlet untuk FrontController,
> Filter interceptor (filter untuk menutup session dan traksaksi) khusus
> ditujukan pada Servlet Controller. Sedangkan velocity dan Struts
> terdapat 2 buah Servlet utama yang dipanggil secara bergantian ,...
> ActionServlet struts dan VelocityViewServlet untuk velocity.
>
> Kalau interceptor ditempatkan pada ActionServlet menyebabkan object
> graph tidak dapat diakses oleh velocity servlet(session sudah
> ditutup). Kalau interceptor ditempatkan pada VelocityViewServlet
> menyebabkan session tidak akan ditutup sampai actionForward redirect
> file *.vm. Kalau interceptor ditempatkan pada kedua - duanya
> menyebabkan POJO tidak akan pernah tersimpan kedalam database secara
> lengkap,... karena session secara tiba2 tertutup secara bergantian
> antara velocity dan atau struts!!!!
>
> FYI :
> note : selama ini saya masih manual bikin hibernate session,
> transaction di setiap businessService ...... tedeious job .... terlalu
> banyak repetisi blok trycatch dan menyebabkan velocity tidak dapat
> memanfaatkan mekanisme object graph ..... ('untuk membuat report harus
> bikin HSQL untuk setiap halaman velocity') ThreadLocal pattern solusi
> tapi tidak kompetibel dengan Struts velocity .... kira2 apa solusinya
> ???
>
> Thanx in advance.
Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke [EMAIL PROTECTED]
Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id
| Yahoo! Groups Sponsor | |
|
|
Yahoo! Groups Links
- To visit your group on the web, go to:
http://groups.yahoo.com/group/jug-indonesia/
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
<<attachment: Relasi.GIF>>
