IBM Support

PK90938: PREPERSIST AND PREUPDATE ANNOTATIONS DON'T WORK WITH VERSION COLUMNS

Fixes are available

7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for IBM i
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for AIX
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Windows
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for HP-UX
7.0.0.7: Java SDK 1.6 SR6 Cumulative Fix for WebSphere Application Server
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Solaris
7.0.0.7: WebSphere Application Server V7.0 Fix Pack 7 for Linux
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for IBM i
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Windows
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for AIX
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for HP-UX
7.0.0.9: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Solaris
7.0.0.9: WebSphere Application Server V7.0 Fix Pack 9 for Linux
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for IBM i
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Windows
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for HP-UX
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for AIX
7.0.0.11: Java SDK 1.6 SR7 Cumulative Fix for WebSphere Application Server
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Solaris
7.0.0.11: WebSphere Application Server V7.0 Fix Pack 11 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for AIX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for HP-UX
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for IBM i
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Linux
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Solaris
7.0.0.13: WebSphere Application Server V7.0 Fix Pack 13 for Windows
7.0.0.13: Java SDK 1.6 SR8FP1 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for AIX
7.0.0.15: Java SDK 1.6 SR9 Cumulative Fix for WebSphere Application Server
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for HP-UX
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for IBM i
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Linux
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Solaris
7.0.0.15: WebSphere Application Server V7.0 Fix Pack 15 for Windows
7.0.0.17: WebSphere Application Server V7.0 Fix Pack 17
7.0.0.17: Java SDK 1.6 SR9 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.19: WebSphere Application Server V7.0 Fix Pack 19
7.0.0.21: WebSphere Application Server V7.0 Fix Pack 21
7.0.0.23: WebSphere Application Server V7.0 Fix Pack 23
7.0.0.25: WebSphere Application Server V7.0 Fix Pack 25
7.0.0.27: WebSphere Application Server V7.0 Fix Pack 27
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.27: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
7.0.0.19: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.21: Java SDK 1.6 SR9 FP2 Cumulative Fix for WebSphere
7.0.0.23: Java SDK 1.6 SR10 FP1 Cumulative Fix for WebSphere
7.0.0.25: Java SDK 1.6 SR11 Cumulative Fix for WebSphere Application Server
7.0.0.27: Java SDK 1.6 SR12 Cumulative Fix for WebSphere Application Server
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • ***************************************************
    When using PrePersist and PreUpdate annotations in an entity
    that has a Version column and doing updates in the PrePersist or
    PreUpdate methods, the Version column will be set twice causing
    the following exception
    **********************************************
    [6/30/09 9:58:22:345 SGT] 0000003e RegisteredSyn E WTRN0074E:
    Exception caught from before_completion synchronization
    operation:
    <openjpa-1.2.1-SNAPSHOT+OPENJPA-679-Final-r422266:746282 fatal
    general error>
    org.apache.openjpa.persistence.PersistenceException: The
    transaction has been rolled back. See the nested exceptions for
    details on the errors that occurred.
    at
    org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImp
    l.java:2163)
    .
    .
    
    at
    org.jboss.seam.transaction.UTTransaction.commit(UTTransaction.ja
    va:52)
    at
    org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseL
    istener.java:613)
    at
    org.jboss.seam.jsf.SeamPhaseListener.commitOrRollback(SeamPhaseL
    istener.java:604)
    at
    org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsAfterPhas
    e(SeamPhaseListener.java:345)
    at
    ... 66 more
    .
    
    NestedThrowables:
    <openjpa-1.2.1-SNAPSHOT+OPENJPA-679-Final-r422266:746282
    nonfatal store error>
    org.apache.openjpa.persistence.OptimisticLockException: An
    optimistic lock violation was detected when flushing object
    instance "synergix.entity.E1-4" to the data store. This
    indicates that the object was concurrently modified in another
    transaction.
    FailedObject: synergix.entity.E1-4
    at
    org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerI
    mpl.flushSingleRow(BatchingPreparedStatementManagerImpl.java:221
    )
    at
    org.apache.openjpa.jdbc.kernel.BatchingPreparedStatementManagerI
    mpl.flushBatch(BatchingPreparedStatementManagerImpl.java:156)
    
    ***************************************
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server V7.0                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: When using JPA's @PrePersist or         *
    *                      @PreUpdate annotations with the         *
    *                      @Version annotation, an exception may   *
    *                      be thrown.                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When the user is using JPA and has an entity that uses the
    @Version field and has callbacks of @PrePersist or @PreUpdate,
    the Version column will be set twice.  This causes an
    Exception to be thrown that has this as a cause:
    org.apache.openjpa.persistence.InvalidStateException: Attempt
    to set column "EntityName.VersionColumn" to two
    different values: (class java.lang.Integer)"2", (class
    java.lang.Integer)"3" This can occur when you fail to set both
    sides of a two-sided relation between objects, or when you map
    different fields to the same column, but you do not keep the
    values of these fields in synch.
    

Problem conclusion

  • The fix for this APAR involved moving a fix from the
    OpenJPA current code base back to the OpenJPA 1.2.x code used
    by Application Server V7.  The BrokerImpl class was updated to
    use a LinkedHashSet instead of an ArrayList for the Collection
    of States.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.7.  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

    PK90938

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-07-09

  • Closed date

    2009-07-23

  • Last modified date

    2009-07-23

  • 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

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
25 October 2021