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

ArrayIndexOutOfBoundsException being thrown from ClassMetaData.getExtraFieldDataIndex()

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 1.2.2
    • Fix Version/s: 2.1.0
    • Component/s: jdbc
    • Labels:
      None
    • Environment:
      found this on DB2, but I imagine it doesn't matter

      Description

      An ArrayIndexOutOfBoundsException is being thrown by ClassMetaData.getExtraFieldDataIndex()

      I am providing a test case. The only thing special is that the entities are set up in a hexagon shape, where the entities above have a OneToMany relationship with those below. The one at the very bottom has ManyToOne relationships with the two entities above it and I think this seems to be the cause of the problem.

      I have done some debugging on this and here is where I have gotten to:

      The problem is somewhere around the JDBCStoreManager.initializeState method

      first time through, the mapping object is org.apache.openjpa.persistence.jdbc.query.HexagonBottom and the mappedByFieldMapping is
      org.apache.openjpa.persistence.jdbc.query.HexagonBottom.lowerLeftId (looks good), index is 6
      second time through, the mapping object is org.apache.openjpa.persistence.jdbc.query.HexagonLowerRight and the mappedByFieldMapping is still org.apache.openjpa.persistence.jdbc.query.HexagonBottom.lowerLeftId, so the index is still 6, but the HexagonLowerRight object only has 4 fields in it so the exception is thrown.

        Attachments

        1. tc.zip
          16 kB
          B.J. Reed

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              bjreed B.J. Reed
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: