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