java.lang.ClassCastException: org.hibernate.internal.StatelessSessionImpl cannot be cast to org.hibernate.Session

Hibernate JIRA | Holger Niehaus | 6 months ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    AbstractQueryImpl#guessType casts SessionImplementor session to Session but StatelessSession does not implement Session. Simple test: @Test public void testStatelessSession() throws Exception { StatelessSession statelessSession = sessionFactory.openStatelessSession(); String queryString = "Select * from Papa where partition_id = :partition"; SQLQuery query = statelessSession.createSQLQuery(queryString); PartitionImpl partition = new PartitionImpl("part02"); query.setParameter("partition", partition); assertThat(query.list().size(), is(0)); } Throws Exception: java.lang.ClassCastException: org.hibernate.internal.StatelessSessionImpl cannot be cast to org.hibernate.Session at org.hibernate.internal.AbstractQueryImpl.guessType(AbstractQueryImpl.java:553) at org.hibernate.internal.AbstractQueryImpl.guessType(AbstractQueryImpl.java:534) at org.hibernate.internal.AbstractQueryImpl.determineType(AbstractQueryImpl.java:519) at org.hibernate.internal.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:487) at de.pds.common.hibernatetest.HibernateTest.testStatelessSession(HibernateTest.java:2667) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

    Hibernate JIRA | 6 months ago | Holger Niehaus
    java.lang.ClassCastException: org.hibernate.internal.StatelessSessionImpl cannot be cast to org.hibernate.Session

    Root Cause Analysis

    1. java.lang.ClassCastException

      org.hibernate.internal.StatelessSessionImpl cannot be cast to org.hibernate.Session

      at org.hibernate.internal.AbstractQueryImpl.guessType()
    2. Hibernate
      AbstractQueryImpl.setParameter
      1. org.hibernate.internal.AbstractQueryImpl.guessType(AbstractQueryImpl.java:553)
      2. org.hibernate.internal.AbstractQueryImpl.guessType(AbstractQueryImpl.java:534)
      3. org.hibernate.internal.AbstractQueryImpl.determineType(AbstractQueryImpl.java:519)
      4. org.hibernate.internal.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:487)
      4 frames
    3. de.pds.common
      HibernateTest.testStatelessSession
      1. de.pds.common.hibernatetest.HibernateTest.testStatelessSession(HibernateTest.java:2667)
      1 frame
    4. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      4. java.lang.reflect.Method.invoke(Method.java:601)
      4 frames
    5. JUnit
      ParentRunner.run
      1. org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
      2. org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      3. org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
      4. org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      5. org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
      6. org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
      7. org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
      8. org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      9. org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
      10. org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
      11. org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
      12. org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
      13. org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
      14. org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
      15. org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
      16. org.junit.runners.ParentRunner.run(ParentRunner.java:309)
      16 frames
    6. JUnit4 Runner
      JUnit4TestReference.run
      1. org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
      1 frame
    7. JUnit3 Runner
      RemoteTestRunner.main
      1. org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      2. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
      3. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
      4. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
      5. org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
      5 frames