Skip to main content

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.

Jump to: navigation, search

Teneo/Hibernate/ModelRelational

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.
  • Association Mapping: describes in detail how associations can be mapped to a relational store, also outlining which annotations and configuration options can be used.
  • [Teneo/Hibernate/ModelRelational/Collection_Lazy_Loading|Collection Lazy Loading]]: describes extra-lazy techniques to work with very large collections

Back to the top