Hmmmm. Well, that's the way Spring wraps it by default. I don't have time to look into it right now, but maybe you can check the Spring docs to see what to do in your situation. The Spring library is pretty thorough, so I would imagine that there's something you can do.
James -----Original Message----- From: Xiaoshu Wang [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 16, 2006 12:00 PM To: 'Tapestry users' Subject: RE: tapernate question Thanks, James. I am able to get the exception now. However, the exceptions seem to be wrapped into spring's DataAccessException. The original cause of HibernateException is gone. I tried to traverse the Exception track by getCause(), but only get the DataIntegrityViolationException and java.sql.BatchUpdateException. I am writing an application that has two fields that can violate the same contraints. The lost of HibernateException won't allow me to figure out the which field is duplicated. Xiaoshu > -----Original Message----- > From: James Carman [mailto:[EMAIL PROTECTED] > Sent: Wednesday, August 16, 2006 6:05 AM > To: 'Tapestry users' > Subject: RE: tapernate question > > If you want more fine-grained control over what's going on, > turn off transaction-per-request and use service methods with > transaction interceptors on them to achieve what you want. > The reason that you didn't get the exception is that the > transaction isn't committing until the end of the request and > that's when you'll get the unique constraint violation > exception. The exception presenter might not even catch > this, come to think of it. I actually changed the way > Tapernate is implemented in my local copy. I might need to > push that out to the rest of you. > > -----Original Message----- > From: Xiaoshu Wang [mailto:[EMAIL PROTECTED] > Sent: Tuesday, August 15, 2006 9:45 PM > To: 'Tapestry users' > Subject: RE: tapernate question > > I tried to put something like > > try { > getSession.update(message); > } catch (Throwable e) { > System.out.println("Catch it."); > } > > under the MessageDaoImpl.update(Message), but it seems not > doing anything. > > How to hook with ExceptionPresenter? > > Xiaoshu > > > > -----Original Message----- > > From: James Carman [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, August 15, 2006 9:09 PM > > To: 'Tapestry users' > > Subject: RE: tapernate question > > > > You can put in a hook into the ExceptionPresenter or wrap your call > > with a try/catch block. The HibernateService class can be found at: > > > > http://svn.javaforge.com/svn/hivemind/hivemind-utils/trunk/src > /main/java/com > > /javaforge/hivemind/util/HiveMindService.java > > > > The username/password is anonymous/anon. > > > > > > -----Original Message----- > > From: Xiaoshu Wang [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, August 15, 2006 9:03 PM > > To: [email protected] > > Subject: tapernate question > > > > Hi, I am playing around Tapernate, which I have a question > to ask. It > > seems that the exception thrown by a database query would > not be able > > to be catched at the application level. > > For isnstance, I justed added a unique constraints on the > > Message.value property. If I ever try to created a message > that has a > > duplicated value with an existing Message, it break the > application. > > I didn't find a way to catch the exception. Is this > expected behavior > > or not? > > > > Also, where I can find the source code for the HibernateService? > > > > Thanks, > > > > XW > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
