Riyad Kalla wrote:

I was reading in the Hibernate forums that when you have a WebApp > DAO


Hibernate > DB design, and you open/close each Hibernate session at


every single DAO method call (what I do now) its actually quite
expensive, and is suggested that you attempt to maintain a Hibernate
Session in conjunction with a user Session to increase performance.

I had a question for anyone that has done this (without using
SpringFramework). My gut-reaction to this was to add a
HttpSessionListener to my webapp that created and stored a Hibernate
session in the user's session, and then close it when the Session
expired... will this not work? Anyone else have a good solution for
this?

TIA,
Riyad


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Hi.

Thisis not a Hibernate forum... Anyway: If you read the docs, you will find good practice not to hold a long during hibernate session. You would get problems with synchronisation and consistent hibernate session states, furthermore this would result in too many open sessions. (Good point for denial of service-attack...)
I prefer using hibernate sessions hold in a ThreadLocal, which is really nice because you do not have to get HibernmateSession through all of your method signatures. The Session is opened at beginning of the Request and closed at the end. I close it in a ServletFilter, so i can do within Srtruts whatever i want (declarative Exception handling...) and i can be sure it is always closed. This way i also can track the max parallel open Hibernate Sessions, which tells a lot over server load.


Regards Axel

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to