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, 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