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; } /**