Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
如何扩展Spring数据JPA@Query方法注释_Spring_Jpa_Annotations_Customization_Spring Data Jpa - Fatal编程技术网

如何扩展Spring数据JPA@Query方法注释

如何扩展Spring数据JPA@Query方法注释,spring,jpa,annotations,customization,spring-data-jpa,Spring,Jpa,Annotations,Customization,Spring Data Jpa,如何扩展Spring数据JPA@Query方法注释 从本文中,我了解了如何扩展Spring数据JPA功能,不幸的是,本文讲述了ElementType.TYPE注释,但我需要了解ElementType.METHOD注释以及Spring数据JPA将如何注册和处理此注释方法 11052012547-- 我对如何处理方法注释做了进一步的研究,我发现我需要使用AOP来使用我的自定义注释处理器拦截原始方法调用 是我干的 @NoRepositoryBean @Target(ElementType.METHOD

如何扩展Spring数据JPA@Query方法注释

从本文中,我了解了如何扩展Spring数据JPA功能,不幸的是,本文讲述了ElementType.TYPE注释,但我需要了解ElementType.METHOD注释以及Spring数据JPA将如何注册和处理此注释方法

11052012547-- 我对如何处理方法注释做了进一步的研究,我发现我需要使用AOP来使用我的自定义注释处理器拦截原始方法调用

是我干的

@NoRepositoryBean
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Dynaque {
    String value() default "";
}


@NoRepositoryBean
@Aspect
@Component("dynaqueAopListener")
public class DynaqueAopListener {
    @Pointcut("@annotation(my.repo.engine.package.Dynaque)")
    public void dynaqueMethods() {
    }

    @Around("dynaqueMethods()")
    public Object profile(ProceedingJoinPoint pjp) throws Throwable {
        Method m = ((MethodSignature) pjp.getSignature()).getMethod();
        Dynaque d = null;
        if (m != null) {
            d = m.getAnnotation(Dynaque.class);

        }
        Object output = pjp.proceed();
        //my custom query logic here
        return output;
    }

}
然后我遇到了下一个障碍,
我发现SD JPA扫描了每个存储库接口的所有方法,并使用QueryLookupStrategy对它们执行QueryLookup,我不知道如何从SD-JPA QueryLookup中排除使用@Dynaque注释的方法,以便我可以对这些方法实现我自己的查询逻辑

你的问题不清楚,你能详细说明一下吗?您想知道如何在方法级别使用“@NamedNativeQueries”吗?或者你想知道“@Query”注释是如何工作的?首先,很抱歉我的英语不好。其次,是的,我想知道“类似@NamedNativeQueries的东西如何在方法级别使用”,基本上我想使用我自己的方法注释。