hibernate3.2中使用interval问题
我需要在hibernate mysql dialetc 使用interval推移时间,使用interval后会出现异常,删除后一切正常。
举个例子说明下,有这样一段数据:
2008-06-04 01:51:06
2008-06-04 02:28:47
2008-06-04 03:22:06
2008-06-04 04:07:15
2008-06-04 04:52:12
2008-06-04 05:52:34
2008-06-04 08:07:20
2008-06-04 08:44:21
2008-06-04 09:31:23
正常统计一天的数据是从00:00:00到23:59:59,但我现在需要从7:00:00到6:59:59统计的数据算做一天的。也就是6.4号的数据是从6.4号 07:00:00 到 6.5号的 06:59:59 !
在MYSQL 下写查询一切正常:
sql: select * from table_name where time-interval 25200 second like '2008-06-04%';
String sql="from className as c where c.time-interval 25200 second like '2008-06-04%'";List sql=session.createQuery(sql).list();Exception :[ERROR][org.hibernate.hql.PARSER][2008-06-05 17:26:05] line 1:257: unexpected token: 25200Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)Vat org.hibernate.hql.antlr.HqlBaseParser.identPrimary(HqlBaseParser.java:4065)at org.hibernate.hql.antlr.HqlBaseParser.primaryExpression(HqlBaseParser.java:861)at org.hibernate.hql.antlr.HqlBaseParser.atom(HqlBaseParser.java:3438)at org.hibernate.hql.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3216)at org.hibernate.hql.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:3098)at org.hibernate.hql.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2848)at org.hibernate.hql.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:570)at org.hibernate.hql.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2586)at org.hibernate.hql.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2449)at org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2413)at org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2331)at org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2296)at org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:2082)at org.hibernate.hql.antlr.HqlBaseParser.expressionOrVector(HqlBaseParser.java:4181)at org.hibernate.hql.antlr.HqlBaseParser.primaryExpression(HqlBaseParser.java:944)at org.hibernate.hql.antlr.HqlBaseParser.atom(HqlBaseParser.java:3438)at org.hibernate.hql.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3216)at org.hibernate.hql.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:3098)at org.hibernate.hql.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2818)at org.hibernate.hql.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:570)at org.hibernate.hql.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2586)at org.hibernate.hql.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2449)at org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2413)at org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2331)at org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2296)at org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:2082)at org.hibernate.hql.antlr.HqlBaseParser.exprList(HqlBaseParser.java:3816)at org.hibernate.hql.antlr.HqlBaseParser.identPrimary(HqlBaseParser.java:3979)at org.hibernate.hql.antlr.HqlBaseParser.primaryExpression(HqlBaseParser.java:861)at org.hibernate.hql.antlr.HqlBaseParser.atom(HqlBaseParser.java:3438)at org.hibernate.hql.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3216)at org.hibernate.hql.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:3098)at org.hibernate.hql.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2818)at org.hibernate.hql.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:570)at org.hibernate.hql.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2586)at org.hibernate.hql.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2449)at org.hibernate.hql.antlr.HqlBaseParser.negatedExpression(HqlBaseParser.java:2413)at org.hibernate.hql.antlr.HqlBaseParser.logicalAndExpression(HqlBaseParser.java:2331)at org.hibernate.hql.antlr.HqlBaseParser.logicalOrExpression(HqlBaseParser.java:2296)at org.hibernate.hql.antlr.HqlBaseParser.expression(HqlBaseParser.java:2082)at org.hibernate.hql.antlr.HqlBaseParser.logicalExpression(HqlBaseParser.java:1858)at org.hibernate.hql.antlr.HqlBaseParser.whereClause(HqlBaseParser.java:454)at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:708)at org.hibernate.hql.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:296)at org.hibernate.hql.antlr.HqlBaseParser.statement(HqlBaseParser.java:159)at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:248)at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)at com.chart.dao.EventDao.getUncheckData(EventDao.java:138)at com.chart.dao.TestDao.main(TestDao.java:102)