IllegalStateException: Unexpected AST: org.hibernate.hql.internal.ast.tree.SqlNode executing HQL SELECT with a constructor expression containing null in JBoss EAP

Solution Verified - Updated -

Issue

  • Executing an HQL query using a constructor expression in the select clause where Employee is an entity type

    SELECT new support.hibernate.dto.Pair(e, null) FROM Employee e WHERE e.name = :name
    
  • After applying JBoss EAP 6.4 cumulative patch 10, encountering the following failure

    java.lang.IllegalStateException: Unexpected AST: org.hibernate.hql.internal.ast.tree.SqlNode 
     \-[NULL] SqlNode: 'null'
    
        at org.hibernate.hql.internal.ast.tree.SelectExpressionList.collectSelectExpressions(SelectExpressionList.java:55)
        at org.hibernate.hql.internal.ast.tree.ConstructorNode.resolveConstructorArgumentTypes(ConstructorNode.java:159)
        at org.hibernate.hql.internal.ast.tree.ConstructorNode.prepare(ConstructorNode.java:142)
        ...
        at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1739)
        at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:291)
        ...
    
  • After applying JBoss EAP 7.0 cumulative patch 3, encountering the following failure

    java.lang.NullPointerException
        at org.hibernate.hql.internal.NameGenerator.generateColumnNames(NameGenerator.java:27)
        at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.generateColumnNames(SessionFactoryHelper.java:418)
        at org.hibernate.hql.internal.ast.tree.SelectClause.initializeColumnNames(SelectClause.java:267)
        ...
        at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1894)
        at org.hibernate.jpa.spi.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:291)
        ...
    

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 7.0 CP03 (and later)
    • 6.4 CP10 (and later)
  • Hibernate
    • 5.0.11 (and later)
    • 4.2.24 (and later)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.