hibernate query is not working after migration to JBoss EAP 6.0.1 from EAP 4.3

Solution Unverified - Updated -

Issue

  • We have two entities with one to many relationship (Uni directional) association. [testList] is the child entity property in parent [testcreate] .
  • There is a hibernate query defined as below:
 from testcreate testcreate where testcreate.testList.Number = ? and TRUNC(testcreate.createdDate) between ? and ?
  • It was working fine with Jboss-EAP 4.3 but getting the following error when we try to deploy in EAP 6.0.1, please advise.
ERROR [org.hibernate.internal.SessionFactoryImpl] (ServerService Thread Pool -- 55) HHH000177: Error in named query: test.model.fetchTESTDetailBy: org.hibernate.QueryException: illegal attempt to dereference collection [testcreate0_.TEST_SEQ_NO.testList] with element property reference [Number] [
            from tset.model.testcreate testcreate where testcreate.testList.Number = ? and TRUNC(testcreate.createdDate) between ? and ?
        ]
        at org.hibernate.hql.internal.ast.tree.DotNode$1.buildIllegalCollectionDereferenceException(DotNode.java:68) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.ast.tree.DotNode.checkLhsIsNotCollection(DotNode.java:550) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.ast.tree.DotNode.resolve(DotNode.java:246) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:118) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.ast.tree.FromReferenceNode.resolve(FromReferenceNode.java:114) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:881) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1264) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4426) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:3898) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2076) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2001) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:794) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:595) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:299) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:247) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:248) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:183) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:105) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:168) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.internal.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:1071) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:519) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1750) [hibernate-core-4.2.0.Final-redhat-1.jar:4.2.0.Final-redhat-1]
        at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.0.Final-redhat-1.jar:7.2.0.Final-redhat-1]
        at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
        at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
        at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.0.Final-redhat-8.jar:7.2.0.Final-redhat-8]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_25]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_25]
        at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_25]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
        at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
        at org.jboss.threads.JBossThread.run(JBossThread.java:122)

11:16:03,044 INFO  [stdout] (ServerService Thread Pool -- 55) Cause of the exception is..
11:16:03,045 INFO  [stdout] (ServerService Thread Pool -- 55)
11:16:03,045 INFO  [stdout] (ServerService Thread Pool -- 55)
11:16:03,045 INFO  [stdout] (ServerService Thread Pool -- 55) PersistenceException
11:16:03,045 INFO  [stdout] (ServerService Thread Pool -- 55)
11:16:03,045 INFO  [stdout] (ServerService Thread Pool -- 55) +----------------------------------------------------------+
11:16:03,046 INFO  [stdout] (ServerService Thread Pool -- 55) org.hibernate.HibernateException
11:16:03,046 INFO  [stdout] (ServerService Thread Pool -- 55) +----------------------------------------------------------+
11:16:03,046 INFO  [stdout] (ServerService Thread Pool -- 55)     org.hibernate.HibernateException: Errors in named queries: test.model.fetchTESTDetailBy
11:16:03,046 INFO  [stdout] (ServerService Thread Pool -- 55)   at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:528)

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 6.0.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content