Implement a vendor extension mechanism for persistence.xml and orm.xml
----------------------------------------------------------------------
Key: OPENJPA-1437
URL: https://issues.apache.org/jira/browse/OPENJPA-1437
Project: OpenJPA
Issue Type: New Feature
Affects Versions: 1.2.1
Reporter: David M. Karr
OpenJPA 1.2.1 implements version 1.0 of the JPA specification. OpenJPA has
some extensions that provide additional functionality, some of it identical to
what is implemented in JPA version 2.0. For instance, the "@OrderColumn"
annotation. This is something I need in my application, because the database
I'm mapping to uses a join table for an ordered list, where the join table has
a "SEQUENCE_NUM" column to specify the ordering.
I've implemented my application only using "logical" JPA annotations, where the
physical descriptions are in the orm.xml. Unfortunately, as there is no vendor
extension mechanism for the orm.xml, I can't specify "order-column" in the
orm.xml, so I have to specify it in the annotation. In addition, as the orm.xml
attribute definition completely overrides any annotations for the same
attribute, this means that for any attributes that I need to specify this
ordering for, I have to put all the physical description (table, column, etc.)
into the annotations for that field.
This particular instance of this problem will go away when I eventually move to
the JPA 2.0 implementation, but in the future the possibility still exists that
I or someone else might find a custom OpenJPA mapping feature to be useful or
necessary, and be forced to specify the entire attribute details in the
annotation, instead of the ideal (in my opinion) arrangement with the logical
annotation and physical xml.
So, my suggestion is to somehow implement what the JPA specification didn't
think of (that I can see), which is the ability to deploy a parallel
OpenJPA-specific persistence.xml and orm.xml, where I can put the custom
"order-column" element, to avoid having to do this in annotations.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.