From 34ab818dfa795bd67fa44061f71e68bc665fa0bf Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 13 Sep 2016 21:46:02 +0200 Subject: [PATCH] HibernateExceptionTranslator avoids JPA IllegalState/ArgumentException translation Issue: SPR-14681 --- .../orm/hibernate5/HibernateExceptionTranslator.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateExceptionTranslator.java b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateExceptionTranslator.java index 38070d625a..4e70b21e4f 100644 --- a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateExceptionTranslator.java +++ b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateExceptionTranslator.java @@ -48,10 +48,13 @@ public class HibernateExceptionTranslator implements PersistenceExceptionTransla if (ex instanceof HibernateException) { return convertHibernateAccessException((HibernateException) ex); } - if (ex instanceof PersistenceException && ex.getCause() instanceof HibernateException) { - return convertHibernateAccessException((HibernateException) ex.getCause()); + if (ex instanceof PersistenceException) { + if (ex.getCause() instanceof HibernateException) { + return convertHibernateAccessException((HibernateException) ex.getCause()); + } + return EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(ex); } - return EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(ex); + return null; } /** -- GitLab