IBM Support

PM03670: MERGING A NEW BI-DIRECTIONAL ONE-TO-MANY RELATIONSHIP DOES NOT CASCADE

Fixes are available

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

  • Using em.merge on an entity with a o:m bidi relationship does
    not update owner-relationship ref with merged entity.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server v7.0                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: The EntityManager.merge() operation     *
    *                      with a new entity object set to         *
    *                      cascade merges could fail flush to db.  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A call to EntityManager.merge() with a new entity object
    (which defaults to persist() behavior) with the following
    properties could yield an Exception during a flush to the
    databases:
    
    1) The new entity (E1) has a @OnetoMany relationship with
    another entity (E2); this relationship is the inverse side of a
    @ManyToOne relationship defined on E2.
    2) The @OneToMany relationship defined on E1 is set to cascade
    all or merge operations.
    3) The @ManyToOne relationship defined on E2 is lazy-loaded
    
    The underlying problem is that the attach strategy did not
    properly update the relationship reference held by E2 to refer
    to the new instance of E1 (E1') created by the merge operation,
    leaving E2 to maintain a relationship reference to the
    original (and unmanaged) instance of E1.  The flush operation
    that occurs during a transaction commit fails when this
    reference to an unmanaged entity is detected.
    
    An example of an Exception generated by this problem is as
    follows:
    
    org.apache.openjpa.persistence.InvalidStateException:
    Encountered unmanaged object in persistent field
    "E2.e1ref" during flush.  However,
    this field does not allow cascade persist. Set the cascade
    attribute for this field to CascadeType.PERSIST or
    CascadeType.ALL (JPA annotations) or "persist" or "all" (JPA
    orm.xml), or enable cascade-persist globally, or manually
    persist the related field value prior to flushing. You cannot
    flush unmanaged objects or graphs that have persistent
    associations to unmanaged objects.
    FailedObject: E1@14aa2db
     at
    org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFi
    eldManager.java:772)
     at
    org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFiel
    dManager.java:594)
     at
    org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFiel
    dManager.java:562)
     at
    org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFiel
    dManager.java:478)
     at
    org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManager
    Impl.java:2829)
    

Problem conclusion

  • The attach strategy utilized by OpenJPA was updated to ensure
    that the new managed persistent object instantiated by the
    merge operation is properly stored in the fields of both sides
    of the relationship.  This will prevent the entity owning the
    relationship (E2) from preserving a reference to the unmanaged
    instance of E1.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.9.  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

    PM03670

  • 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-12-15

  • Closed date

    2010-01-13

  • Last modified date

    2010-01-13

  • 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:
24 October 2021