IBM Support

PI27385: JPA UNEXPECTEDLY ADDS DOUBLE-QUOTATION IN SQL STATEMENT

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • JPA unexpectedly adds a double-quotation in an SQL statement
    when the table name is named with double-byte and single-byte
    mixed. Due to this behavior, an application failed when
    accessing the table. This works without problem if using
    JPA 1.0.
    

Local fix

  • Use JPA v1.0
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V8.5.0 and V8.5.5 who make           *
    *                  use of Double Byte Character Set            *
    *                  characters in their JPA Entities.           *
    ****************************************************************
    * PROBLEM DESCRIPTION: Fields in a JPA Entity which contain a  *
    *                      DBCS character are quoted in generated  *
    *                      SQL.                                    *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    We have an issue with a scenario which contains double byte
    character set (DBCS) characters (in this case the characters
    are Japanese). That is, take this entity which contains a
    mixture of DBCS and Single BCS:
    @Entity
    public class MyDBCSEntity {
    @Id
    private String  <dbcs characaters1>id;
    private String  <dbcs characters2>  ;
    .......
    With this Entity, take the following JPQL string:
    "SELECT m FROM MyDBCSEntity m WHERE m. <dbcs characters2>
    ORDER BY
    m. <dbcs characaters1>id";
    When this query string is run, the following SQL is
    generated by OpenJPA:
    SELECT t0." <dbcs characaters1>id", t0." <dbcs characters2>
    WHERE
    (t0." <dbcs characters2>  " = 0) ORDER BY t0." ??
    Notice that the generated SQL contains quoted identifiers.  In
    the database, the column is named " <dbcs characaters1>ID"
    (note the upper case word 'id').  Because OpenJPA adds the
    quotes, some databases treat this identifier as case-sensitive
    and thus " <dbcs characaters1>id" doesn't match
    "<dbcs characaters1>ID".
    

Problem conclusion

  • With this fix, code has been added to OpenJPA to properly
    handle the case where identifiers contain a mixture of DBCS
    and SBCS characters.
    
    The fix for this APAR is currently targeted for
    inclusion in Service Level (Fix Pack)
    8.5.5.5 of WebSphere Application Server version 8.5.5.
    
    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

    PI27385

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2014-10-10

  • Closed date

    2015-01-12

  • Last modified date

    2015-01-12

  • 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

  • R850 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:
28 April 2022