gpt4 book ai didi

jpa - Java 8 Spring Data JPA 参数绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 01:32:16 27 4
gpt4 key购买 nike

在我的 @Repository 界面中,我使用包含参数 (addressType) 的 JPQL @Query 创建了自定义查找方法。

来自地址 a,其中 a.addressType = :addressType

在方法中我没有在参数上指定@Param("addressType")。所以我得到了

java.lang.IllegalArgumentException: Name for parameter binding must not be null or empty! For named parameters you need to use @Param for query method parameters on Java versions < 8.

好吧,这很清楚,但我使用的是 Java 8。那么 Java 8 有什么特别之处呢?

最佳答案

@JB Nizet 给出的答案是正确的,但我只是想指出在使用 Eclipse 时为 Java 8 编译器添加 -parameters 标志的方法。这是在窗口 -> 首选项中:

Preferences setting

Maven 还允许在 pom 本身中添加标志:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<compilerArgs>
<arg>-verbose</arg>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>

使用 IDEA IntelliJ 时为 Java 8 编译器添加参数标志

文件 > 设置 > 构建、执行、部署 > 编译器 > Java 编译器

Java Compiler setting

关于jpa - Java 8 Spring Data JPA 参数绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27733892/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com