Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用AspectJ进行Spring持久性异常转换_Java_Spring_Jpa_Aop_Aspectj - Fatal编程技术网

Java 如何使用AspectJ进行Spring持久性异常转换

Java 如何使用AspectJ进行Spring持久性异常转换,java,spring,jpa,aop,aspectj,Java,Spring,Jpa,Aop,Aspectj,我将Spring3.0与AspectJ一起使用,我更喜欢使用AspectJ而不是AOP代理。 这几乎适用于所有问题,但不适用于持久性例外翻译我的问题是如何使用AspectJ来进行持久性异常转换,而不是使用SpringJDK AOP代理 我的配置的相关部分包括: <context:spring-configured/> ... <context:component-scan /> .... <tx:annotation-driven mode="aspect

我将Spring3.0与AspectJ一起使用,我更喜欢使用AspectJ而不是AOP代理。 这几乎适用于所有问题,但不适用于持久性例外翻译我的问题是如何使用AspectJ来进行持久性异常转换,而不是使用SpringJDK AOP代理

我的配置的相关部分包括:

 <context:spring-configured/>
 ...
 <context:component-scan />
 ....
 <tx:annotation-driven mode="aspectj" transaction-manager="transactionManager" />   

...
....

如果您针对spring-aspects.jar进行编译,这应该是现成的。请参见
org.springframework.orm.jpa.aspectj.jpaeExceptionTranslatorAspect
,以获取参考。也许它的切入点没有涵盖您的场景,在这种情况下,您需要使用自己的切入点扩展方面。以下是包含的标准切入点:

pointcut entityManagerCall(): call(* EntityManager.*(..))
    || call(* EntityManagerFactory.*(..))
    || call(* EntityTransaction.*(..))
    || call(* Query.*(..));