【发布时间】:2013-05-16 07:42:11
【问题描述】:
我尝试在 jqp 查询中使用枚举但出现错误
org.hibernate.QueryException: Not all named parameters have been set: [Deactivated]
这是我的代码
import com.uzzz.enums.DStateEnum;
@Enumerated(EnumType.STRING)
@Query("SELECT dlCode FROM GDETable WHERE d.Id = ?1 AND d.dState.state <> :Deactivated")
List<String> findAllDsCodeExcludingDeactivatedById(Integer Id);
如何解决这个问题?
这里是 DStateEnum.java
public enum DStateEnum {
Cancelled("Cancelled"),
Active("Active"),
Paused("Paused"),
Deactivated("Deactivated");
private DStateEnum(final String name){
this.name = name;
}
private String name;
public String getName() {
return name;
}
@Override
public String toString() {
return name;
}
public static DStateEnum fromString(String text) {
if (text != null) {
for (DStateEnum b : DStateEnum.values()) {
if (text.equalsIgnoreCase(b.getName())) {
return b;
}
}
}
return null;
}
}
【问题讨论】:
-
好吧,你在代码中的哪个位置填写参数
Deactivated? -
它来自导入 com.uzzz.enums.DStateEnum
-
真的吗?如何?从未听说过这样的
import运算符功能。 -
为 DStateEnum 添加了代码
标签: java hibernate jpa spring-data