Failure using named parameters and OUT binding with Hibernate stored procedure query in EAP 7

Solution In Progress - Updated -

Issue

  • Failure when executing a StoredProcedureQuery using named parameters and one or more OUT parameters

    ... javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Error calling CallableStatement.getMoreResults
            at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692)
            at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602)
            at org.hibernate.jpa.internal.StoredProcedureQueryImpl.execute(StoredProcedureQueryImpl.java:224)
            at support.hibernate.entity.TestHibernate.test(TestHibernate.java:76)
            ...
    Caused by: org.hibernate.exception.GenericJDBCException: Error calling CallableStatement.getMoreResults
            at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
            at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
            at org.hibernate.result.internal.OutputsImpl.convert(OutputsImpl.java:79)
            at org.hibernate.result.internal.OutputsImpl.<init>(OutputsImpl.java:56)
            at org.hibernate.procedure.internal.ProcedureOutputsImpl.<init>(ProcedureOutputsImpl.java:32)
            at org.hibernate.procedure.internal.ProcedureCallImpl.buildOutputs(ProcedureCallImpl.java:411)
            at org.hibernate.procedure.internal.ProcedureCallImpl.getOutputs(ProcedureCallImpl.java:363)
            at org.hibernate.jpa.internal.StoredProcedureQueryImpl.outputs(StoredProcedureQueryImpl.java:234)
            at org.hibernate.jpa.internal.StoredProcedureQueryImpl.execute(StoredProcedureQueryImpl.java:217)
            ... 32 more
    Caused by: java.sql.SQLException: The number of parameter names does not match the number of registered praremeters
            at oracle.jdbc.driver.OracleSql.setNamedParameters(OracleSql.java:199)
            at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4753)
            at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
            at org.hibernate.result.internal.OutputsImpl.<init>(OutputsImpl.java:52)
            ...
    
  • A variant Oracle exception has also been observed

    ... java.sql.SQLException: operation not allowed: Ordinal binding and Named binding cannot be combined!
    

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP) 7
  • Hibernate 5.0.9

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