繁体   English   中英

是否可以摆脱 Spring 数据 JPA 存储库中的 @Param 注释

[英]Is it possible to get rid of @Param Annotation in Spring Data JPA Repository

In Spring Data JPA, when I want to write a custom query, if I specify a parameter, I send this parameter value with @Param annotation, Is it possible to get rid of @Param Annotation in Spring Data JPA Repository?

示例查询:

@Query("select u from User where u.name = :name")
User findUserByName(@Param("name") String name);

所需查询:

@Query("select u from User where u.name = :name")
User findUserByName(String name);

请注意,我不想使用?0 或类似的东西,我想直接使用名称参数。

是的,这是完全可能的。 正如参考所描述的:

从版本 4 开始,Spring 完全支持基于 -parameters 编译器标志的 Java 8 的参数名称发现。 通过在构建中使用此标志作为调试信息的替代方案,您可以省略命名参数的 @Param 注释。

Stackoverflow 有一个示例,如何使用 Maven 做到这一点(可能也适用于您选择的构建工具):

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <fork>true</fork>
                <compilerArgs>
                    <arg>-parameters</arg>
                </compilerArgs>
            </configuration>
        </plugin>
    </plugins>
</build>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM