Monday 15 March 2010

java - Hibernate Group By Query -



java - Hibernate Group By Query -

please help me understand whats wrong query.

string sql = "select d.arc_alrt_cde, d.alrt_desc, count(d.arc_alrt_cde) " + "from arc_alrt a, arc_alrt_def d " + "where d.arc_alrt_cde = a.alrt_cde " + "and (a.stat_cde = 'open' or a.stat_cde = 're-opened') " + "group d.arc_alrt_cde, d.alrt_desc "+ "order count(d.arc_alrt_cde) desc" println sql query query = session.createquery(sql);

printing sql

sql = select d.arc_alrt_cde, d.alrt_desc, count(d.arc_alrt_cde) arc_alrt a, arc_alrt_def d d.arc_alrt_cde = a.alrt_cde , (a.stat_cde = 'open' or a.stat_cde = 're-opened') grouping d.arc_alrt_cde, d.alrt_desc order count(d.arc_alrt_cde) desc

getting next error. tried in clause also.. not working..

error: java.lang.illegalargumentexception: node traverse cannot null! @ org.hibernate.hql.internal.ast.util.nodetraverser.traversedepthfirst(nodetraverser.java:64) @ org.hibernate.hql.internal.ast.querytranslatorimpl.parse(querytranslatorimpl.java:300) @ org.hibernate.hql.internal.ast.querytranslatorimpl.docompile(querytranslatorimpl.java:203) @ org.hibernate.hql.internal.ast.querytranslatorimpl.compile(querytranslatorimpl.java:158) @ org.hibernate.engine.query.spi.hqlqueryplan.<init>(hqlqueryplan.java:126) @ org.hibernate.engine.query.spi.hqlqueryplan.<init>(hqlqueryplan.java:88)

that's sql query not hql one, should use:

sqlquery query = session.createsqlquery(sql);

that exception got thrown because hibernate expects hql query receives sql query instead.

java database hibernate jpa hql

No comments:

Post a Comment