APAR status
Closed as program error.
Error description
When attempting to execute a CriteriaBuilder query that contains a SELECT CASE expressions, EclipseLink throws an exception Exception: ´´´ java.lang.IllegalArgumentException: argument type mismatch at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.new Instance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.new Instance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl .newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor. java:490) at org.eclipse.persistence.internal.security.PrivilegedAccessHelper .invokeConstructor(PrivilegedAccessHelper.java:489) ´´´
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server - Java Persistence API - JPA 2.1 & * * EclipseLink * **************************************************************** * PROBLEM DESCRIPTION: EclipseLink throws an * * IllegalArgumentException for * * CriteriaBuilder Case select * * expressions using Constructs * **************************************************************** * RECOMMENDATION: * **************************************************************** When attempting to execute a CriteriaBuilder query that contains a construct expression within a select expression, EclipseLink throws an IllegalArgumentException due to it attempting to use the wrong object types in the Object constructor reflection call. Exception: ´´´ java.lang.IllegalArgumentException: argument type mismatch at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.new Instance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.new Instance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl .newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor. java:490) at org.eclipse.persistence.internal.security.PrivilegedAccessHelper .invokeConstructor(PrivilegedAccessHelper.java:489) at org.eclipse.persistence.queries.ReportQueryResult.processConstru ctorItem(ReportQueryResult.java:149) at org.eclipse.persistence.queries.ReportQueryResult.buildResult(Re portQueryResult.java:103) at org.eclipse.persistence.queries.ReportQueryResult.<init>(ReportQ ueryResult.java:82) ´´´
Problem conclusion
The fix for this APAR changes the EclipseLink implementation and involves an update to the third-party source. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=573435 This fix is currently targeted for WebSphere Application Server 9.0.5.9. For more information, see 'Recommended Updates for WebSphere Application Server': https://www.ibm.com/support/pages/node/715553
Temporary fix
Comments
APAR Information
APAR number
PH37715
Reported component name
WEBSPHERE APP S
Reported component ID
5724J0800
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-06-01
Closed date
2021-07-07
Last modified date
2021-07-07
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
WEBSPHERE APP S
Fixed component ID
5724J0800
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":"9.0","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
02 November 2021