今天在做hibernate查询时出现如下异常:
org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [from com.easymap.inter.model.ToaRecvdoc t where t.recvdocCode=?]
org.hibernate.hql.ast.HqlLexer.panic(HqlLexer.java:80)
antlr.CharScanner.setTokenObjectClass(CharScanner.java:340)
org.hibernate.hql.ast.HqlLexer.setTokenObjectClass(HqlLexer.java:54)
antlr.CharScanner.(CharScanner.java:51)
antlr.CharScanner.(CharScanner.java:60)
org.hibernate.hql.antlr.HqlBaseLexer.(HqlBaseLexer.java:56)
org.hibernate.hql.antlr.HqlBaseLexer.(HqlBaseLexer.java:53)
org.hibernate.hql.antlr.HqlBaseLexer.(HqlBaseLexer.java:50)
org.hibernate.hql.ast.HqlLexer.(HqlLexer.java:49)
...................
解决之法是:
在hibernate.cfg.xml 这个文件中加入如下一句:
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>