IBM Support

PI68028: EclipseLink throws ValidationException when using nested embeddables with the same attribute name

Fixes are available

16.0.0.4: WebSphere Application Server Liberty 16.0.0.4
9.0.0.3: WebSphere Application Server traditional V9.0 Fix Pack 3
9.0.0.4: WebSphere Application Server traditional V9.0 Fix Pack 4
9.0.0.5: WebSphere Application Server traditional V9.0 Fix Pack 5
9.0.0.6: WebSphere Application Server traditional V9.0 Fix Pack 6
9.0.0.7: WebSphere Application Server traditional V9.0 Fix Pack 7
17.0.0.1: WebSphere Application Server Liberty 17.0.0.1
17.0.0.2: WebSphere Application Server Liberty 17.0.0.2
17.0.0.3: WebSphere Application Server Liberty 17.0.0.3
17.0.0.4: WebSphere Application Server Liberty 17.0.0.4
18.0.0.1: WebSphere Application Server Liberty 18.0.0.1
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
9.0.0.8: WebSphere Application Server traditional V9.0 Fix Pack 8
9.0.0.9: WebSphere Application Server traditional V9.0 Fix Pack 9
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
9.0.0.10: WebSphere Application Server traditional V9.0 Fix Pack 10
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
9.0.0.11: WebSphere Application Server traditional V9.0 Fix Pack 11
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
9.0.5.0: WebSphere Application Server traditional Version 9.0.5 Refresh Pack
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
9.0.5.1: WebSphere Application Server traditional Version 9.0.5 Fix Pack 1
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
9.0.5.2: WebSphere Application Server traditional Version 9.0.5 Fix Pack 2
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
9.0.5.3: WebSphere Application Server traditional Version 9.0.5 Fix Pack 3
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5
20.0.0.6: WebSphere Application Server Liberty 20.0.0.6
9.0.5.4: WebSphere Application Server traditional Version 9.0.5 Fix Pack 4
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
9.0.5.5: WebSphere Application Server traditional Version 9.0.5 Fix Pack 5
20.0.0.9: WebSphere Application Server Liberty 20.0.0.9
20.0.0.10: WebSphere Application Server Liberty 20.0.0.10
20.0.0.11: WebSphere Application Server Liberty 20.0.0.11
20.0.0.12: WebSphere Application Server Liberty 20.0.0.12
9.0.5.6: WebSphere Application Server traditional Version 9.0.5 Fix Pack 6

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The example Entity uses a EmbeddedId that consists of the
    Embeddables that both have a field called "value".
    Additionally the entity has a reference to itself. When
    trying
    to deploy the war to WebSphere Liberty the following
    message is written to the log file:
    
    
    [08.08.16 17:21:00:329 MESZ] 0000004a
    com.ibm.ws.jpa.management.JPAPUnitInfo
    E
    CWWJP0015E: An error occurred in
    the org.eclipse.persistence.jpa.PersistenceProvider
    persistence
    provider when it attempted to create the container entity
    manager factory for the testUnit persistence unit. The
    following error occurred: Exception [EclipseLink-28018]
    (Eclipse Persistence Services -
    2.6.3.WAS-v20160414-bd51c70):
    org.eclipse.persistence.exceptions.EntityManagerSetupExcepti
    on
    Exception Description: Predeployment of PersistenceUnit
    [testUnit] failed.
    Internal Exception: Exception [EclipseLink-7220] (Eclipse
    Persistence Services - 2.6.3.WAS-v20160414-bd51c70):
    org.eclipse.persistence.exceptions.ValidationException
    Exception Description: The @JoinColumns on the annotated
    element [field autoReference] from the entity class [class
    embeddedpk.SomeEntity] is incomplete. When the source entity
    class uses a composite primary key, a @JoinColumn must be
    specified for each join column using the @JoinColumns. Both
    the
    name and the referencedColumnName elements must be specified
    in
    each such @JoinColumn.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty - Java Persistence API       *
    *                  (JPA)                                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: EclipseLink throws an exception when    *
    *                      using nested embeddables with the same  *
    *                      attribute name                          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Multiple Embeddables with the same attribute name cause
    EclipseLink to confuse the mappings and drop one of them.
    Exception similar to:
    org.eclipse.persistence.exceptions.ValidationException
    Exception Description: The @JoinColumns on the annotated
    element [field autoReference] from the entity class [class
    embeddedpk.SomeEntity] is incomplete. When the source entity
    class uses a composite primary key, a @JoinColumn must be
    specified for each join column using the @JoinColumns. Both the
    name and the referencedColumnName elements must be specified in
    each such @JoinColumn.
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PI68028

  • Reported component name

    WAS LIBERTY COR

  • Reported component ID

    5725L2900

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-08-23

  • Closed date

    2016-10-25

  • Last modified date

    2016-11-04

  • 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

    WAS LIBERTY COR

  • Fixed component ID

    5725L2900

Applicable component levels

  • R855 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSD28V","label":"WebSphere Application Server Liberty Core"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"855","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
15 October 2021