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

Provide XML-based configuration for OpenJPA's custom metadata and mapping extensions

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: In Progress
    • Major
    • Resolution: Unresolved
    • 2.2.0
    • None
    • competitive, jpa, usability
    • None

    Description

      Context: The JPA specification includes many annotations for the specification of metadata and mapping information within Java classes. In addition, the spec provides a means to supply the same information within XML configuration files (orm.xml). One primary benefit of XML config files is it allows modification of the ORM information without needing to recompile the source code.

      OpenJPA has many custom metadata and mapping annotations that can be used to provided functionality beyond the JPA specification. However, these extensions are available only through annotations. There is currently no means to specify the metadata or mapping extensions via XML. We've had several requests for this capability, but it hasn't seen much/any activity.

      Task:

      1) Understand OpenJPA's annotation extensions.
      2) Determine which annotations make sense to provide in XML configuration
      3) Design a schema for the XML-based configuration file (openjpa-orm.xml?)
      4) Creating metadata and mapping parsers for the new XML mapping file
      5) Wire the new parsers into the existing code path.
      6) Provide adequate jUnit tests for the new function.

      Mentor: techhusky at gmail dot com

      Complexity: moderate

      Attachments

        1. supported_annotations.pdf
          131 kB
          Dianne E. Richards
        2. supported_annotations.pdf
          131 kB
          Dianne E. Richards

        Activity

          People

            dianner Dianne E. Richards
            techhusky Jeremy Bauer
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: