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

ReverseMapping tool does not find primary keys with Oracle

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1.0
    • 2.1.1, 2.2.0
    • jdbc
    • None
    • Patch Available

    Description

      When running the reverse mapping tool on Oracle we are unable to identify the primary key column for a table.

      The root cause is the prepared statement generated by OracleDictionary. The parameter value uses the qualified name for the table instead of the unqualified name (e.g. SCOTT.SimpleEntity instead of SimpleEntity).

      The output of the tool will look something like this :

      669 persistence-tests INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.OracleDictionary".
      3128 persistence-tests INFO [main] openjpa.Tool - ReverseMappingTool : generating classes.
      3132 persistence-tests INFO [main] openjpa.MetaData - Table "SCOTT.SIMPLEENTITY" could not be reverse mapped. This means that the table does not have a primary key (primary keys are required to establish unique identifiers for all persistent objects) and does not match a known pattern for a table used for cross-reference or value collections.
      3133 persistence-tests INFO [main] openjpa.Tool - Generating annotations.
      3282 persistence-tests INFO [main] openjpa.Tool - Writing generated class source code.
      3283 persistence-tests INFO [main] openjpa.Tool - Writing generated metadata.

      Attachments

        Issue Links

          Activity

            People

              mikedd Michael Dick
              mikedd Michael Dick
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: