JDO Identity Models
There are three JDO identity models to allow for different underlying database management systems (DBMSs). The type of JDO identity used is a property of a JDO PersistenceCapable class.
The JDO identity models are:
- Application (primary key) identity. This is the JDO identity type used for data stores in which the value(s) in the instance determine the identity of the object in the data store. (This is commonly used in relational DBMSs)
- Data store identity. This is the JDO identity type used for data stores in which the identity of the data in the data store does not depend on the values in the instance. The implementation guarantees uniqueness for all instances. (This is commonly used in object DBMSs.)
- Non-data store JDO identity. The primary usage for non-data store JDO identity is for log files, history files, and other similar files, where performance is a primary concern.
A JDO implementation is required to support either application (primary key) identity or datastore identity, and may optionally support non-datastore identity.
More on the general topic: Java Data Objects (JDO)