--- In [EMAIL PROTECTED], Achmad Arif Rachim <[EMAIL PROTECTED]> wrote:
> 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
ADVERTISEMENT
click here
Web Bug from http://us.adserver.yahoo.com/l?M=315388.5529724.6602080.3001176/D=groups/S=:HM/A=2372354/rand=814915889


Yahoo! Groups Links

<<attachment: Relasi.GIF>>

Reply via email to