Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Model Relational Mapping with EJB3/JPA annotations
Teneo can map almost every ecore model to a relational store. The mapping logic is can be overridden and controlled by in-model JPA annotations. The annotations are entered in the model (xsd or ecore) directly or set in a separate XML file.
This combination of automatic mapping and manual overrides with JPA annotations is very powerfull. The JPA annotations allow a developer to do many things, an incomplete list of possibilities: determine the naming of columns and tables, enables or prevents join tables, specify embedded components, specify the name of foreign key columns, the inheritance mapping, if an index column is used, the sorting of a collection, enable external references, etc. etc.
For more information, see the following pages:
- Supported Annotations: gives a complete overview of the support for JPA annotations including Hibernate annotation extensions and convenience Teneo extensions.
- Annotations Format: describes in detail how annotations can be specified in the model itself or in a separate XML file. By supporting an external XML it is possible to annotate existing ecore models, so without the need to change them.
- Annotation Examples: provides downloadable examples and discusses some special cases.
- Association Mapping: describes in detail how associations can be mapped to a relational store, also outlining which annotations and configuration options can be used.
- Inheritance Mapping: discusses the inheritance mapping strategies supported by Teneo.
- Entity Attribute Value Mapping: the entity-attribute-value mapping strategy is a special mapping suitable for models which change at runtime.