Nope... You might ask the Hibernate list... > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On > Behalf Of Eric Pugh > Sent: Saturday, November 15, 2003 2:01 PM > To: [EMAIL PROTECTED] > Subject: RE: [OS-webwork] Hibernate Session as Request Scoped > Component > > > Have you ever been able to measure how much faster using > FlushMode.NEVER is over letting Hibernate check it? > > Eric > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] > Behalf Of > > Jason Carreira > > Sent: Saturday, November 15, 2003 3:59 AM > > To: [EMAIL PROTECTED] > > Subject: RE: [OS-webwork] Hibernate Session as Request Scoped > > Component > > > > > > Public flogging? You'll get errors that you have to track down... > > > > > -----Original Message----- > > > From: Matthew E. Porter [mailto:[EMAIL PROTECTED] > > > Sent: Friday, November 14, 2003 9:53 PM > > > To: [EMAIL PROTECTED] > > > Subject: Re: [OS-webwork] Hibernate Session as Request Scoped > > > Component > > > > > > > > > Jason: > > > What happens if some *accidentally* calls getReadOnly() > > > and performs > > > a write? > > > > > > > > > Cheers, > > > matthew > > > > > > On Nov 14, 2003, at 8:01 PM, Jason Carreira wrote: > > > > > > > Ok... Looking back at what we did here (and bugging Gavin)... > > > > > > > > We always set mySession.setFlushMode(FlushMode.NEVER); > > > > > > > > And have a flag that is set in the getReadWrite() that > > tells it to > > > > manually flush() on dispose, otherwise it doesn't flush at > > > all, which > > > > saves it from having to check the objects. > > > > > > > > Jason > > > > > > > >> -----Original Message----- > > > >> From: [EMAIL PROTECTED] > > > >> [mailto:[EMAIL PROTECTED] > > > On Behalf > > > >> Of Eric Pugh > > > >> Sent: Friday, November 14, 2003 5:51 PM > > > >> To: [EMAIL PROTECTED] > > > >> Subject: RE: [OS-webwork] Hibernate Session as Request Scoped > > > >> Component > > > >> > > > >> > > > >> Hibernate is smart enough to know when to do the flush.. > > > Yes, it has > > > >> to check internally that nothing changed, but you would be > > > doing that > > > >> anyway. So, when you call the flush command, Hibernate > > > then figures > > > >> out what needs to be saved, and if nothing needs to be > > > saved, then it > > > >> won't... > > > >> > > > >> Eric > > > >> > > > >>> -----Original Message----- > > > >>> From: [EMAIL PROTECTED] > > > >>> [mailto:[EMAIL PROTECTED] > > > >> Behalf Of > > > >>> Jason Carreira > > > >>> Sent: Friday, November 14, 2003 8:50 PM > > > >>> To: [EMAIL PROTECTED] > > > >>> Subject: RE: [OS-webwork] Hibernate Session as Request Scoped > > > >>> Component > > > >>> > > > >>> > > > >>> I think this is a good solution, except I think you forgot > > > >> to save the > > > >>> Session if it's null. I would optimize it by having > two methods: > > > >>> > > > >>> getReadOnlySession > > > >>> getReadWriteSession > > > >>> > > > >>> Which both return the same Session, but > > > getReadWriteSession sets a > > > >>> flag to do the flush()... If the flag is not set, you > > can skip the > > > >>> flush and > > > >>> roll back the transaction. > > > >>> > > > >>> Jason > > > >>> > > > >>>> -----Original Message----- > > > >>>> From: Matthew E. Porter [mailto:[EMAIL PROTECTED] > > > >>>> Sent: Friday, November 14, 2003 12:16 PM > > > >>>> To: [EMAIL PROTECTED] > > > >>>> Subject: [OS-webwork] Hibernate Session as Request Scoped > > > >> Component > > > >>>> > > > >>>> > > > >>>> Instead of using a ThreadLocal Hibernate Session, has > > > >> anyone played > > > >>>> with having a HibernateSessionProvider component at > > the request > > > >>>> scope? Here is how I would envision the code: > > > >>>> > > > >>>> public class HibernateSessionProvider implements > > > SessionProvider, > > > >>>> Disposable { > > > >>>> private SessionFactoryProvider sessionFactoryProvider; > > > >>>> private Session session; > > > >>>> > > > >>>> public SessionFactoryProvider > > getSessionFactoryProvider() { > > > >>>> return this.sessionFactoryProvider; > > > >>>> } > > > >>>> > > > >>>> public void > > setSessionFactoryProvider(SessionFactoryProvider > > > >>>> sessionFactoryProvider) { > > > >>>> this.sessionFactoryProvider = > sessionFactoryProvider; > > > >>>> } > > > >>>> > > > >>>> public Session getSession() throws > PersistenceException { > > > >>>> if ((this.session == null) || > > > (!this.session.isOpen())) { > > > >>>> try { > > > >>>> return > > > >>>> > this.sessionFactoryProvider.getSessionFactory().openSession(); > > > >>>> } catch (HibernateException he) { > > > >>>> throw new > > > >> PersistenceException("HibernateException > > > >>>> caught building hibernate hibernate", he); > > > >>>> } > > > >>>> } > > > >>>> > > > >>>> return this.session; > > > >>>> } > > > >>>> > > > >>>> public void dispose() { > > > >>>> if ((this.session != null) && > > (this.session.isOpen()) && > > > >>>> (this.session.isConnected()) { > > > >>>> try { > > > >>>> this.session.flush(); > > > >>>> this.session.connection().commit(); > > > >>>> this.session.close(); > > > >>>> } catch (Exception e) { > > > >>>> // do something > > > >>>> } > > > >>>> } > > > >>>> > > > >>>> } > > > >>>> } > > > >>>> > > > >>>> > > > >>>> Is there anything wrong with doing it this way? All of the > > > >>>> components needing a Hibernate session (Persistence > > Manager and > > > >>>> DAOs) > > > >>> are scoped > > > >>>> at the same level. SessionFactoryProvider is another > > > >> component but > > > >>>> scoped at the application. > > > >>>> > > > >>>> > > > >>>> Cheers, > > > >>>> matthew > > > >>>> > > > >>>> > > > >>>> > > > >>>> ------------------------------------------------------- > > > >>>> This SF. Net email is sponsored by: GoToMyPC > > > >>>> GoToMyPC is the fast, easy and secure way to access your > > > computer > > > >>>> from any Web browser or wireless device. Click here to > > > Try it Free! > > > >>>> > https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/ > > > >>> g22lp.tmpl _______________________________________________ > > > >>> Opensymphony-webwork mailing list > > > >>> [EMAIL PROTECTED] > > > >>> > https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork > > >>> > > >>> > > >>> ------------------------------------------------------- > > >>> This SF. Net email is sponsored by: GoToMyPC > > >>> GoToMyPC is the fast, easy and secure way to access your > > >> computer from > > >>> any Web browser or wireless device. Click here to Try it Free! > > >>> https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/ > > >> g22lp.tmpl > > >> _______________________________________________ > > >> Opensymphony-webwork mailing list > > >> [EMAIL PROTECTED] > > >> https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork > > >> > > > > > > > > > ------------------------------------------------------- > > > This SF. Net email is sponsored by: GoToMyPC > > > GoToMyPC is the fast, easy and secure way to access your > > computer from > > > any Web browser or wireless device. Click here to Try it Free! > > > https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/ > > > g22lp.tmpl > > > _______________________________________________ > > > Opensymphony-webwork mailing list > > > [EMAIL PROTECTED] > > > https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork > > > > > > > > ------------------------------------------------------- > > This SF. Net email is sponsored by: GoToMyPC > > GoToMyPC is the fast, easy and secure way to access your > > computer from any Web browser or wireless device. Click here > > to Try it Free! > > https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/ > g22lp.tmpl > _______________________________________________ > Opensymphony-webwork mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork > > > ------------------------------------------------------- > This SF. Net email is sponsored by: GoToMyPC > GoToMyPC is the fast, easy and secure way to access your > computer from any Web browser or wireless device. Click here > to Try it Free! > https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/ g22lp.tmpl _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
------------------------------------------------------- This SF. Net email is sponsored by: GoToMyPC GoToMyPC is the fast, easy and secure way to access your computer from any Web browser or wireless device. Click here to Try it Free! https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork