blob: 3325655a15d2c3799eb2dce8857283cb3e9e8135 [file] [log] [blame]
:_basedir:
:_imagesdir: images/
:grid: cols
:metadata:
[[index]]
== Persistence MetaDataanchor:Persistence_MetaData[]
All variants of JDO support specification of persistence using XML MetaData.
JDO 2.1+ adds on the ability to specify persistence using Java annotations.
[[xml]]
=== XML MetaData
JDO expects any XML MetaData to be specified in a file or files in particular positions in the file system.
For example, if you have a class _com.mycompany.sample.MyExample_, JDO will look for any of the
following files until it finds one (in the order stated) :
....
META-INF/package.jdo
WEB-INF/package.jdo
package.jdo
com/package.jdo
com/mycompany/package.jdo
com/mycompany/sample/package.jdo
com/mycompany/sample/MyExample.jdo
....
In addition to specifying XML MetaData in a *jdo* file, if defining O/R
mapping information you can also split this out into an ORM file. The
locations for ORM files are similar in nature to those for JDO files.
....
META-INF/package-{mapping}.orm
WEB-INF/package-{mapping}.orm
package-{mapping}.orm
com/package-{mapping}.orm
com/mycompany/package-{mapping}.orm
com/mycompany/sample/package-{mapping}.orm
com/mycompany/sample/MyExample-{mapping}.orm
....
where _\{mapping}_ is a property specified by the user and may be
"mysql" for ORM information for MySQL datastores, and "oracle" for ORM
information for Oracle datastores, and so on.
{empty} +
[[Annotations]]
=== Annotations
JDO 2.1+ added support for annotations.
Classes and fields/properties can be annotated defining the persistence and, optionally, any ORM information.