A fix is available
APAR status
Closed as program error.
Error description
EclipseLink will throw the following exception when using javax.persistence.StoredProcedure with Ref Cursors + indexed parameters. The fix for PH16450 was incomplete and did not include support for cursors. Exception: Caused by: java.sql.SQLException: operation not allowed: Ordinal binding and Named binding cannot be combined! at oracle.jdbc.driver.OracleCallableStatement.getObject(OracleCalla bleStatement.java:3269) at oracle.jdbc.driver.OracleCallableStatementWrapper.getObject(Orac leCallableStatementWrapper.java:978) at org.eclipse.persistence.internal.jpa.StoredProcedureQueryImpl.ge tOutputParameterValue(StoredProcedureQueryImpl.java:515) at org.eclipse.persistence.internal.jpa.StoredProcedureQueryImpl.ge tResultList(StoredProcedureQueryImpl.java:589) ...
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server - Java Persistence API - JPA 2.1 & * * EclipseLink * **************************************************************** * PROBLEM DESCRIPTION: Executing StoredProcedureQuerys * * with indexed parameters & CURSORs, * * EclipseLink * * throws IllegalArgumentException * **************************************************************** * RECOMMENDATION: * **************************************************************** This is a regression fix for PH16450. When executing either javax.persistence.StoredProcedureQuery.getResultList() and javax.persistence.StoredProcedureQuery.getSingleResult(), EclipseLink will throw the following exception if both are applicable to the StoredProcedureQuery: 1) indexed parameters were set on the StoredProcedureQuery before executing 2) The StoredProcedure has an OUT parameter of type javax.persistence.ParameterMode.REF_CURSOR Example exception: ´´´ javax.persistence.PersistenceException: java.lang.IllegalArgumentException: Invalid output parameter name : 2. operation not allowed: Ordinal binding and Named binding cannot be combined! at org.eclipse.persistence.internal.jpa.StoredProcedureQueryImpl.ge tResultList(StoredProcedureQueryImpl.java:589) ´´´
Problem conclusion
The fix for this APAR changes the EclipseLink implementation and involves an update to the third-party source. See https://github.com/eclipse-ee4j/eclipselink/issues/618 This fix is currently targeted for WebSphere Application Server 9.0.5.3 and WebSphere Liberty 20.0.0.2. For more information, see 'Recommended Updates for WebSphere Application Server': http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PH20109
Reported component name
WEBS APP SERV N
Reported component ID
5724H8800
Reported release
850
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-12-09
Closed date
2020-02-03
Last modified date
2020-02-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WEBS APP SERV N
Fixed component ID
5724H8800
Applicable component levels
R900 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
02 November 2021