An initial split of JDO and ORM annotations is at :- JDO :- http://jpox.cvs.sourceforge.net/jpox/JPOX/Plugins/Java5/src/java/org/jpox/annotations/
ORM:- http://jpox.cvs.sourceforge.net/jpox/JPOX/Plugins/Java5/src/java/org/jpox/annotations/orm/ Still to do : @DatastoreIdentity currently has columns, indexed, etc. This will need splitting off into its own class-level annotation (@DatastoreIdentityColumns) @Version currently has columns, indexed etc. This will need splitting off into its own class-level annotation (@VersionColumns) @PersistenceCapable has joins. This can be replaced by the @Joins annotation. @Field has table, unique, columns, delete-action, indexed. These will need replacing by things like @JoinTable, @SecondaryTable, @Columns Also some possibilities in the DTD/XSD are not currently specifiable using annotations (e.g extensions on all main elements). We should aim to have an equivalent specification in annotations that we can do in metadata (though noting IIRC that JPA does not abide fully by this with some things being specifiable in metadata that annotations aren't flexible enough for). I'd be interested to see any proposed split that others have come up with. PS. Is it so essential to split off the "mappedBy" attribute of <field> into ORM ? It exists to define both ends of a bidirectional relation, and so would be used by Managed Relationships irrespective of whether the datastore is RDBMS (which is the principal target of such an "ORM" split). -- Andy