我在问题实体中有以下内容:
@NamedQuery(name = "Question.allApproved",
query = "SELECT q FROM Question q WHERE q.status = 'APPROVED'")
和
@Enumerated(EnumType.STRING)
private Status status;
// usual accessors
我收到此异常:
异常描述:编译查询 [Question.countApproved:
SELECT COUNT(q) FROM Question q WHERE q.status = 'APPROVED'
] 时出错,第 1 行,第 47 列:无效的枚举相等表达式,无法将[myCompnay.application.Status]
类型的枚举值与非枚举值进行比较类型[java.lang.String]
。在 org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:501)
我该如何解决?
原文由 LuckyLuke 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为你应该使用你的(完全合格的)
Status
枚举而不是文字值,所以像这样:(假设你的Status
枚举在com.myexample
package)