Issue Details (XML | Word | Printable)

Key: HHH-2648
Type: Bug Bug
Status: Resolved Resolved
Resolution: Duplicate
Priority: Major Major
Assignee: Diego Plentz
Reporter: Heiko W. Rupp
Votes: 6
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
Hibernate Core

NPE in FromClause.java

Created: 01/Jun/07 10:03 AM   Updated: 23/Sep/07 09:17 AM   Resolved: 23/Sep/07 09:17 AM
Component/s: core
Affects Version/s: 3.2.1
Fix Version/s: None

Time Tracking:
Not Specified

Environment: JBoss 4.2, JDK 1.5
Issue Links:
Duplicate
 

Bug Testcase Reminder (view):
REMINDER: Bug reports should generally be accompanied by a test case
Participants: Diego Plentz, Heiko W. Rupp and Jens X Augustsson


 Description  « Hide

This JPA Query

query="SELECT m " +
"FROM MeasurementDataTrait AS m " +
"WHERE m.schedule.resource.id = :resourceId" +
" AND m.schedule.definition.displayType = :displayType " +
" AND m.id.timestamp = (" +
" SELECT MAX(mdt.id.timestamp) " +
" FROM MeasurementDataTrait AS mdt" +
" WHERE m.scheduleId = mdt.scheduleId" +
" )" +
" GROUP BY m " +
" ORDER BY m.id.timestamp DESC"

Results in this NPE:
java.lang.NullPointerException
at org.hibernate.hql.ast.tree.FromClause.findIntendedAliasedFromElementBasedOnCrazyJPARequirements(FromClause.java:120)
at org.hibernate.hql.ast.tree.FromClause.getFromElement(FromClause.java:107)
at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:81)
at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:255)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4049)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3528)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1762)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:1690)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:776)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:577)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)

When I remove the subselect, then the query gets parsed nicely.



Jens X Augustsson added a comment - 10/Sep/07 03:44 AM

This other issues provides further info and patches