Supported (EMF) Features
- Supported EMF Features
- Supported XML Schema structures
- EJB3 Annotations
- JPOX Features
- Not Supported by JPOX
The EMF - JPOX Integration supports many EMF features and all features offered by jpox.
Supported EMF Features
The current version of the EMF - JPOX integration many important EMF Features. A summary:
- All relevant primitive types (including Date)
- Lists of primitive types (EDataTypeEList)
- Single Reference: contained, non-contained, one-way, two-way
- One-To-Many relations (EList): contained, non-contained, one-way, two-way
- Many-to-Many relations (EList): contained and non-contained, one-way, two-way
- EMap
- Notifications and adapters (limited testing done)
- Enumerations
- Resource implementations
- Lazy loading (similar to EMF proxy feature)
- Dynamic api
- Inheritance between types
- No dependencies on EObjectImpl as root object or specific root object for persistency: EMF Objects are only required to implement org.eclipse.emf.ecore.InternalEObject
- Support for EMF Feature Map as described here
Supported XML Schema structures
EMF allows models to be expressed in XML Schema. Through EMF the current solution supports many XML Schema structures, an overview:
- Element definition with all combinations of minOccurs and maxOccurs
- Repeating model group such as xsd:choice with maxOccurs="unbounded"
- Extension of complextype, from simple as well as other complex type
- Inheritance using abstract supertype and extensions from complextype
- all relevant simple types including xsd:IDREF, xsd:IDREFS and xsd:anyURI
- Mixed content
- etc.
For a detailed listing of XML Schema support see here.
EJB3 Annotations
The integration supports the following EJB3-like annotations:
- UniqueConstraints
- MappedSuperclass
- IdClass
- OneToMany, ManyToMany, ManyToOne
- etc.
For a detailed listing of EJB3 annotation support see here.
JPOX Features
The integration supports all JPOX features, e.g:
- OR Mapping of class hierarchies, 1:n, m:n relations (one- and twoway)
- Support for most relational databases
- JDO query language
- 2 level caching
- etc.
See here for a complete listing of the features of the JPOX product.
Not Supported by JPOX
JPOX does not support Lists of user-defined primitive types, an example is a list of enumerates.