我在Question实体中有以下内容:
@NamedQuery(name = "Question.allApproved",
query = "SELECT q FROM Question q WHERE q.status = 'APPROVED'")
Run Code Online (Sandbox Code Playgroud)
和
@Enumerated(EnumType.STRING)
private Status status;
// usual accessors
Run Code Online (Sandbox Code Playgroud)
我得到这个例外:
异常说明:编译查询时出错[Question.countApproved:
SELECT COUNT(q) FROM Question q WHERE q.status = 'APPROVED'],第1行,第47列:无效的枚举等于表达式,无法将类型[myCompnay.application.Status]的枚举值与非枚举值类型进行比较[java.lang.String].at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:501)
我该如何解决?
Pio*_*cki 133
我认为你应该使用你的(完全限定的)Status枚举而不是文字值,所以像这样:(假设你的Status枚举在com.myexample包中)
@NamedQuery(name = "Question.allApproved",
query = "SELECT q
FROM Question q
WHERE q.status = com.myexample.Status.APPROVED").
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51052 次 |
| 最近记录: |