Moved over JPA exception translator from Roo

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@2207 50f2f4bb-b051-0410-bef5-90022cba6387
This commit is contained in:
Ramnivas Laddad
2009-10-27 19:15:54 +00:00
parent ab179f9f20
commit 31d7a7a932
4 changed files with 28 additions and 1 deletions
@@ -0,0 +1,22 @@
package org.springframework.orm.jpa.aspectj;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.jpa.EntityManagerFactoryUtils;
public aspect JpaExceptionTranslatorAspect {
pointcut entityManagerCall(): call(* EntityManager.*(..)) || call(* EntityManagerFactory.*(..)) || call(* EntityTransaction.*(..)) || call(* Query.*(..));
after() throwing(RuntimeException re): entityManagerCall() {
DataAccessException dex = EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(re);
if (dex != null) {
throw dex;
} else {
throw re;
}
}
}