[英]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.