环境 Spring启动版: - 2.0.1.RELEASE AspectJ版本: - 1.8.9 Hibernate版本: - 5.2.14.Final
我有下面的弹簧拦截器: -
@Aspect
@Configuration
public class JpaInterceptor {
private static Logger logger = LoggerFactory.getLogger(JpaInterceptor.class);
private ThreadLocal<SimpleDateFormat> sdf = new ThreadLocal<SimpleDateFormat>() {
@Override
protected SimpleDateFormat initialValue() {
return new SimpleDateFormat("[yyyy-mm-dd hh:mm:ss:SSS]");
}
};
@Pointcut("execution(public !void org.springframework.data.repository.Repository+.*(..))")
public void jpaHandler() {
}
@Around("jpaHandler()")
public Object logMethodCall(ProceedingJoinPoint jp) throws Throwable {
String methodName = jp.getSignature().getName();
logger.info(sdf.get().format(new Date()) + methodName);
return jp.proceed();
}
}
我暂时没有@Repository
中的任何条件或本机SQL查询。
我希望在@Around
建议中让JAInterceptor中的JPA执行查询。
我知道我们可以启用spring.jpa.show-sql = true
来查看查询,但我的要求是在spring方面获取jpa查询。
可能吗?我怎样才能做到这一点?