Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp
Hibernate version:
3.0.3
Mapping documents:
Code between sessionFactory.openSession() and session.close():
Full stack trace of any exception that occurs:
Exception in thread "main" java.lang.IllegalStateException: Unexpected AST: org.hibernate.hql.ast.SqlNode
+-[CASE] SqlNode: 'case'
| +-[WHEN] SqlNode: 'when'
| | +-[EQ] SqlNode: '='
| | | +-[DOT] DotNode: 'mstchartof0_.CHART_OF_ACC_TYPE' {propertyName=chartOfAccType,dereferenceType=4,propertyPath=chartOfAccType,path=A.chartOfAccType,tableAlias=mstchartof0_,className=distr.mst.model.MstChartOfAccount,classAlias=A}
| | | | +-[ALIAS_REF] IdentNode: 'mstchartof0_.CHART_OF_ACC_CODE' {alias=A, className=distr.mst.model.MstChartOfAccount, tableAlias=mstchartof0_}
| | | | \-[IDENT] IdentNode: 'chartOfAccType' {originalText=chartOfAccType}
| | | \-[QUOTED_STRING] LiteralNode: ''D''
| | \-[QUOTED_STRING] LiteralNode: ''Debet''
| \-[ELSE] SqlNode: 'else'
| \-[QUOTED_STRING] LiteralNode: ''Kredit''
at org.hibernate.hql.ast.SelectExpressionList.collectSelectExpressions(SelectExpressionList.java:31)
at org.hibernate.hql.ast.SelectClause.initializeExplicitSelectClause(SelectClause.java:123)
at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:440)
at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:351)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.afterQuery(HqlSqlBaseWalker.java:126)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:471)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:201)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:151)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:189)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:130)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:425)
at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:880)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:830)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
at test.HibernateQueryTester.main(HibernateQueryTester.java:63)
Name and version of the database you are using:
Oracle 9.2.0.1
The generated SQL (show_sql=true):
Debug level Hibernate log excerpt:
Hi guys,
I'm experiencing an error while trying the select case .. when .. then .. else .. end.
This is the HQL :
List list = session.createQuery(
"select " +
"A.chartOfAccCode, A.chartOfAccName, " +
"case " + //case when ... then ... else ... end
"when A.chartOfAccType = 'D' " +
"then 'Debet' " +
"else 'Kredit' " +
"end " + ", " +
"A.chartOfAccGroup, A.subLedgerExistFlag, A.subAccBranchFlag, A.subAccBureauFlag, A.subAccSectorFlag, " +
"A.activeFlag " +
"FROM MstChartOfAccount A")
.list();
And the exception trace is above ...
Please help meee
^-^
Thanks,
Albert Kam