Hi Andy,
I agree that mappedBy should remain in Field. Same is true for indexed,
unique, deleteAction, sequence and valueStrategy, which can all be
useful also for object databases. I think that only table, column and
columns are specific for relational databases. Same is applied also for
Element, Key and Value, which were moved to orm.
I am not sure how a composite index should be declared using
annotations. Assuming that this is done using index and unique -
these two are also relevant to object databases.
Regards,
Ilan
----- Original Message -----
From: "Andy Jefferson" <[EMAIL PROTECTED]>
To: "JDO Expert Group" <[EMAIL PROTECTED]>; "Apache JDO project"
<jdo-dev@db.apache.org>
Sent: Sunday, October 15, 2006 1:39 PM
Subject: JDO2 annotations : split between JDO and ORM
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