Hi,
I have encountered a problem when migrating from Hibernate 3.1.3 to 3.2.0-ga.
A HQL query which has worked very well before the update seems, now, to have a syntax error, because I have obtained the following exception :
java.lang.IllegalStateException: DOT node with no left-hand-side!
at org.hibernate.hql.ast.tree.DotNode.getLhs(DotNode.java:559)
at org.hibernate.hql.ast.tree.DotNode.getDataType(DotNode.java:534)
at org.hibernate.hql.ast.tree.BinaryLogicOperatorNode.extractDataType(BinaryLogicOperatorNode.java:168)
at org.hibernate.hql.ast.tree.BinaryLogicOperatorNode.initialize(BinaryLogicOperatorNode.java:35)
at org.hibernate.hql.ast.HqlSqlWalker.prepareLogicOperator(HqlSqlWalker.java:1014)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3992)
...
This is the HQL query : "from Demand d where (d.class = fr.crb.soc.Grant or d.class = fr.crb.soc.FamillyEvt) and d.date >= :date"
After some investigations, I found out that the HQL parser seems to no longer accept absolute Java packages names because the query corrected, as following, now works well :
"from Demand d where (d.class = Grant or d.class = FamillyEvt) and d.date >= :date"
That seems to be a regression, isn't it ?
--
Frantz
|