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]

Reply via email to