IBM Support

PM64160: EJB 3.0 CLASSCASTEXCEPTION WITH CODE TABLE WHEN USING AN ORM.XML

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The stack will contain
    
    java.lang.ClassCastException: java.lang.Object; incompatible
    with test.servlet.CodeTable
    
    when attempting to call a Stored Procedure using JPA and cast
    the resulting data to the appropriate class.
    

Local fix

  • Move the the orm.xml contents to annotations on the class.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V6.1.0 Feature Pack for Enterprise   *
    *                  JavaBeans 3.0 who make use of column        *
    *                  names with number values in their Java      *
    *                  Persistence API (JPA) Entities.             *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrectly generated SQL for numeric   *
    *                      column names defined in JPA Entities.   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When a numeric column name is specified with a single number
    (e.g.: "1"), incorrect SQL is generated. The SQL is supposed
    to have a single set of double quotes around the name,
    however, the generated SQL for the numeric column name
    contains no quotes (e.g.: 1).  To follow are some examples for
    databases that support double quote delimiters:
    *For annotations:
    @Column(name = "\"2\"")
    public String description;
    *For xml:
    <attributes>
    <id name="id">
    <column name="&quot;1&quot;" />
    </id>
    <basic name="description">
    <column name="&quot;2&quot;" />
    </basic>
    </attributes>
    For this example, the column name that starts with a number
    doesn't work and as mentioned incorrect SQL is generated.  The
    column name needs to be delimited with the the specific
    database delimiter in the SQL. However, delimited identifiers
    are not supported in the JPA specification until JPA 2.0.
    OpenJPA does however attempt to support delimited identifies to
    a certain point in JPA 1.0 releases.  Even manually delimiting
    the column name in the annotation or orm xml causes a problem.
    Note that this APAR only address and fixes column names.
    Manual delimiting of other database identifiers may not work
    on JPA 1.0 releases of OpenJPA.
    

Problem conclusion

  • This fix will allow proper SQL to be generated for manually
    delimiting column names in JPA 1.0 releases of OpenJPA.
    
    The fix for this APAR is currently targeted for inclusion
    in Enterprise JavaBeans 3.0 Feature Pack Fix Pack 45
    (6.1.0.45) of WebSphere Application Server version 6.1.0.
    
    Please refer to the recommended updates page for delivery
    information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM64160

  • Reported component name

    WAS EJB3 FEATUR

  • Reported component ID

    5724J0851

  • Reported release

    610

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-05-08

  • Closed date

    2012-06-25

  • Last modified date

    2012-06-25

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PM66740 PM66746

Fix information

  • Fixed component name

    WAS EJB3 FEATUR

  • Fixed component ID

    5724J0851

Applicable component levels

  • R610 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
10 February 2022