IBM Support

PM69555: OPENJPA DOES NOT ALLOW NULLABLE COLUMNS IN UNIQUE CONSTRAINTS OPENJPA-1387 AND OPENJPA-1651

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Description￘
    Any unique constraint declared with OpenJPA implicitly sets the
    respective columns to be non-null. This is a problem if
    OpenJPA's mapping tool is used to create the database schema.
    Even if something like @Column(nullable=true) is explicitly
    stated, the columns will always be created by OpenJPA as not
    null.
    

Local fix

  • Local Fix￘
    Drop the marking of unique columns as not nullable. This is
    done by removing the corresponding code lines in
    org.apache.openjpa.jdbc.schema.Unique. If a unique column to be
    not nullable is needed , this can be specified explicitly with
    @Column(nullable=false)
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V7.0.0 who make use of unique        *
    *                  contratints in their Java Persistence API   *
    *                  ( JPA ) Entities.                           *
    ****************************************************************
    * PROBLEM DESCRIPTION: Unique colums automatically defined     *
    *                      as non-nullable.                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    OpenJPA automatically defines unique constratins to be
    non-nullable.  As an example, take the following code:
    @Entity
    @Table(uniqueConstraints=@UniqueConstraint(columnNames={"UNS"}))
    public class NullValues {
    ..........
    @Column(name="UNS")
    private String uniqueNullable;
    With this code, the 'uniqueNullable' field would be defined as
    non-nullable.  However, the column defintion in the database
    may allow nulls.
    

Problem conclusion

  • With this fix, code has been added to allow you to make a
    unique constraint nullable.
    
    The fix for this APAR is currently targeted for
    inclusion in Service Level (Fix Pack) 7.0.0.27 of WebSphere
    Application Server versions 7.0.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

    PM69555

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    610

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-07-25

  • Closed date

    2012-11-02

  • Last modified date

    2012-11-02

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

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

    PM70871

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R700 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":"610","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 October 2021