请帮我解决OpenJPA 1.2.x上的JPQL查询问题 这是我的查询文本:
从Event中选择count(distinct evt) evt WHERE(evt.beginDate> = :startOfPeriod和evt.beginDate< = :endOfPeriod)ORDER BY evt.beginDate ASC
在运行时我收到错误:
org.apache.openjpa.persistence.ArgumentException: DB2 SQL错误:SQLCODE = -119, SQLSTATE = 42803,SQLERRMC = BEGIN_DATE, DRIVER = 3.59.81 {prepstmnt 1520523937 SELECT COUNT(DISTINCT t0.ID), t0.BEGIN_DATE 来自COMPANY.EVENT t0 WHERE(t0.BEGIN_DATE> =?AND t0.BEGIN_DATE< =?)优化1行 [params =(Timestamp)2010-12-14 00:00:00.0,(时间戳)2010-12-14 23:59:59.999]} [code = -119, 状态= 42803]
为什么JPA会在select子句中打印字段 t0.BEGIN_DATE ? 为什么JPA在本机SQL中错过了ORDER BY子句? 例如,此查询(在select子句中没有t0.BEGIN_DATE)有效:
SELECT COUNT(DISTINCT t0.ID)
FROM CALENDAR.EVENT t0
WHERE (t0.BEGIN_DATE >= null AND t0.BEGIN_DATE <= null)
我为成功执行SQL查询
设置了null这是某种错误吗?
答案 0 :(得分:3)
哦,伙计......只需删除“ORDER BY evt.beginDate asc”。 如此愚蠢。我算一算,我不需要订单...... 问题已由我自己解决。对不起,请原谅。