Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-386

org.apache.openjpa.meta.ClassMetaData.validateAppIdClass() does not take @MappedSuperclass into account

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.9.7, 1.0.0, 1.0.2, 1.1.0, 1.2.1
    • 1.2.0, 1.3.0, 2.0.0-M3
    • kernel
    • None
    • BEA WebLogic 10.0 under Windows XP SP1
    • Patch Available

    Description

      We have a @MappedSuperclass that is the base for all of our entity bean classes. This class contains the @Version (and @Column for the version field) that all of our entity beans use. But, in ClassMetaData.validateAppIdClass(), if an entity bean class has a superclass, and the entity bean has an @IdClass, it expects that superclass to have an @IdClass also. All of our entity beans have an @IdClass (even if they only have a single part key), but our @MappedSuperclass does not have an @IdClass. This scenario works under JBoss 4.2.0 and Sun AS 9, but produces a NullPointerException in OpenJPA at:

      if (_super != null) {
      // concrete superclass oids must match or be parent of ours
      ClassMetaData sup = getPCSuperclassMetaData();
      if (!sup.getObjectIdType().isAssignableFrom(_objectId)) // <--- NullPointerException here

      Attachments

        1. OPENJPA-386_trunk.patch
          9 kB
          Jody Grassel
        2. OPENJPA-386_1.3.x.patch
          9 kB
          Jody Grassel
        3. OPENJPA-386_1.2.x.patch
          9 kB
          Jody Grassel
        4. OPENJPA-386_1.1.x.patch
          12 kB
          Jody Grassel
        5. OPENJPA-386_1.0.x.patch
          11 kB
          Jody Grassel

        Activity

          People

            fyrewyld Jody Grassel
            mschwickerath@ultramain.com Matthew L. Schwickerath
            Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: