Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html18
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html27
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html4
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java4
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java4
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java4
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java4
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css2
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/xsd/teneo/persistence-mapping-hibernate.xsd533
-rw-r--r--doc/org.eclipse.emf.teneo.doc/tutorials/xsd/teneo/persistence-mapping-jpox.xsd424
16 files changed, 1009 insertions, 27 deletions
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html
index bbbd6b364..6adf860ad 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_features.html
@@ -415,7 +415,9 @@
<li>IdBag</li>
-<li>Type</li>
+<li>Type (on EAttribute)</li>
+
+<li>TypeDef (on EDataType)</li>
</ul>
@@ -423,12 +425,12 @@
</div>
-<a name="N100D7"></a><a name="Annotation+notes"></a>
+<a name="N100DA"></a><a name="Annotation+notes"></a>
<div class="h3">
<h3>Annotation notes</h3>
-<a name="N100DD"></a><a name="edatatype"></a>
+<a name="N100E0"></a><a name="edatatype"></a>
<div class="h4">
<h4>Annotations on EDataType</h4>
<p>Every JPA annotation which is relevant for a non-reference type java member can also be specified on an EDataType.
@@ -438,7 +440,7 @@
and the EDataType have the same annotation then the annotation on the EAttribute is used.</p>
</div>
-<a name="N100E6"></a><a name="transient"></a>
+<a name="N100E9"></a><a name="transient"></a>
<div class="h4">
<h4>Transient on EClass</h4>
<p>The Transient annotation can also be used on an EClass. This prevents an EClass from being mapped and be persisted.</p>
@@ -447,7 +449,7 @@
</div>
-<a name="N100F3"></a><a name="Unique+annotation+added+to+OneToMany+to+force+a+join+table+for+1%3An+relations"></a>
+<a name="N100F6"></a><a name="Unique+annotation+added+to+OneToMany+to+force+a+join+table+for+1%3An+relations"></a>
<div class="h4">
<h4>Unique annotation added to OneToMany to force a join table for 1:n relations</h4>
<p>In a relational database 1:n relations are often modeled by adding a foreign-key (to the
@@ -469,7 +471,7 @@
</div>
-<a name="N10107"></a><a name="indexed"></a>
+<a name="N1010A"></a><a name="indexed"></a>
<div class="h4">
<h4>Indexed Annotation</h4>
<p>The http://annotation.elver.org/Indexed annotation can be used to signal to Elver that a certain association does
@@ -479,7 +481,7 @@
</div>
-<a name="N10114"></a><a name="EmbeddedID+annotation"></a>
+<a name="N10117"></a><a name="EmbeddedID+annotation"></a>
<div class="h4">
<h4>EmbeddedID annotation</h4>
<p>EmbeddedID lets you use an embedded class as an entity's composite primary key.</p>
@@ -491,7 +493,7 @@
</div>
-<a name="N10125"></a><a name="lob_notes"></a>
+<a name="N10128"></a><a name="lob_notes"></a>
<div class="h4">
<h4>Lob annotation</h4>
<p>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html
index 1e3167759..f4c6de360 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/ejb3_format.html
@@ -294,7 +294,7 @@
<p>JPA annotations can also be specified in a separate xml file.
- The xsd for the XML annotations can be downloaded <a href="download/persistence-mapping-hibernate.xsd">here</a>.</p>
+ The xsd for the XML annotations can be downloaded <a href="../xsd/teneo/persistence-mapping-hibernate.xsd">here</a>.</p>
<p>The xsd shows that it is possible to specify annotations on EPackage, EClass, EAttribute, EReference and EDataType level.
In addition there is a special property element which combines the annotations for EAttribute and EReference. The
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html
index 8dc3854ea..bdec3c976 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/hibernate_details.html
@@ -260,6 +260,9 @@
<a href="#Lazy+loading%2Ffetching%2C+Proxy">Lazy loading/fetching, Proxy</a>
</li>
<li>
+<a href="#Automatic+creation+of+TypeDef+for+EDataType">Automatic creation of TypeDef for EDataType</a>
+</li>
+<li>
<a href="#Synthetic+ID+and+Version+properties">Synthetic ID and Version properties</a>
</li>
<li>
@@ -378,7 +381,23 @@
</div>
-<a name="N1007E"></a><a name="Synthetic+ID+and+Version+properties"></a>
+<a name="N1007E"></a><a name="Automatic+creation+of+TypeDef+for+EDataType"></a>
+<div class="h3">
+<h3>Automatic creation of TypeDef for EDataType</h3>
+
+<p>When you define an EDataType in your EPackage Teneo will automatically map this EDataType to a TypeDef if the instanceClass of
+ the EDataType can not be handled by native Hibernate.</p>
+
+<p>The TypeDef will make use of the
+ UserType org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType. This user type persists the value in a single varchar column.
+ This means that the EDataType needs to be convertable from/to a String. EMF will generate the appropriate methods in the generated
+ EFactory for your EPackage. Many times EMF will throw an UnsupportedOperationException. You need to manually change this code to convert
+ your type correctly from and to a String.
+ </p>
+
+</div>
+
+<a name="N1008A"></a><a name="Synthetic+ID+and+Version+properties"></a>
<div class="h3">
<h3>Synthetic ID and Version properties</h3>
@@ -394,7 +413,7 @@
</div>
-<a name="N1008E"></a><a name="cutpaste"></a>
+<a name="N1009A"></a><a name="cutpaste"></a>
<div class="h3">
<h3>Move an EObject between EContainers or support cut and paste in the EMF editor</h3>
@@ -428,7 +447,7 @@
</div>
-<a name="N100AF"></a><a name="Validation"></a>
+<a name="N100BB"></a><a name="Validation"></a>
<div class="h3">
<h3>Validation</h3>
@@ -464,7 +483,7 @@ public class MyValidator extends EObjectValidator
</div>
-<a name="N100C3"></a><a name="Default+cacheprovider+is+org.hibernate.cache.HashtableCacheProvider"></a>
+<a name="N100CF"></a><a name="Default+cacheprovider+is+org.hibernate.cache.HashtableCacheProvider"></a>
<div class="h3">
<h3>Default cacheprovider is org.hibernate.cache.HashtableCacheProvider</h3>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html
index 10926263f..afbc161df 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/options.html
@@ -257,6 +257,10 @@
The value is one of NONE, READ_ONLY, NONSTRICT_READ_WRITE, READ_WRITE, TRANSACTIONAL.</li>
<li>
+<strong>PersistenceOptions.DEFAULT_TEMPORAL_VALUE</strong>: this option controls the default mapping to use for temporal (e.g. java.util.Date) properties.
+ The default is TIMESTAMP, other allowed values are DATE, TIME.</li>
+
+<li>
<strong>PersistenceOptions.DISABLE_ECONTAINER_MAPPING</strong>: this option (boolean) controls if the container relations
are mapped explicitly in the database, see also <a href="hibernate_relations.html#Storing+container+relation">here</a>.</li>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml
index d9f2531d5..f8dbccb20 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/resource_utility.xml
@@ -6,7 +6,7 @@
http://www.eclipse.org/legal/epl-v10.html
--><!--
@author <a href="mtaal@elver.org">Martin Taal</a>
- @version $Revision: 1.3 $ $Date: 2006/10/27 16:25:36 $
+ @version $Revision: 1.4 $ $Date: 2006/11/13 21:55:11 $
--><!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.3//EN" "document-v13.dtd">
<document>
&#9;<header>
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java
index 7dd07f40b..15b000a27 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Dynamic.java
@@ -11,7 +11,7 @@
* Martin Taal
* </copyright>
*
- * $Id: Dynamic.java,v 1.4 2006/10/27 16:25:38 mtaal Exp $
+ * $Id: Dynamic.java,v 1.5 2006/11/13 21:55:11 mtaal Exp $
*/
package hbtutorial;
@@ -41,7 +41,7 @@ import org.hibernate.Transaction;
* Dynamic Tutorial
*
* @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public class Dynamic {
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java
index 949f661cf..0361eb23e 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/QuickStart.java
@@ -11,7 +11,7 @@
* Martin Taal
* </copyright>
*
- * $Id: QuickStart.java,v 1.4 2006/10/27 16:25:38 mtaal Exp $
+ * $Id: QuickStart.java,v 1.5 2006/11/13 21:55:11 mtaal Exp $
*/
package hbtutorial;
@@ -33,7 +33,7 @@ import org.hibernate.Transaction;
* Quick Start Tutorial
*
* @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public class QuickStart {
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java
index 14359be71..abb225896 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/hibernate/samples/Tutorial1.java
@@ -11,7 +11,7 @@
* Martin Taal
* </copyright>
*
- * $Id: Tutorial1.java,v 1.4 2006/10/27 16:25:38 mtaal Exp $
+ * $Id: Tutorial1.java,v 1.5 2006/11/13 21:55:11 mtaal Exp $
*/
package hbtutorial;
@@ -43,7 +43,7 @@ import org.hibernate.SessionFactory;
* Quick Start Tutorial
*
* @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public class Tutorial1 {
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html
index c01b30fd4..84b94b8ea 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/ejb3_format.html
@@ -286,7 +286,7 @@
<p>JPA annotations can also be specified in a separate xml file.
- The xsd for the XML annotations can be downloaded <a href="download/persistence-mapping-jpox.xsd">here</a>.</p>
+ The xsd for the XML annotations can be downloaded <a href="../xsd/teneo/persistence-mapping-jpox.xsd">here</a>.</p>
<p>The xsd shows that it is possible to specify annotations on EPackage, EClass, EAttribute, EReference and EDataType level.
In addition there is a special property element which combines the annotations for EAttribute and EReference. The
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java
index 4ede49f4a..88e55bea1 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/jpox/tutorial1/Tutorial1.java
@@ -11,7 +11,7 @@
* Martin Taal
* </copyright>
*
- * $Id: Tutorial1.java,v 1.4 2006/10/27 16:25:38 mtaal Exp $
+ * $Id: Tutorial1.java,v 1.5 2006/11/13 21:55:11 mtaal Exp $
*/
package jpoxtutorial;
@@ -50,7 +50,7 @@ import org.jpox.PMFConfiguration;
* Tutorial
*
* @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.5 $
*/
public class Tutorial1 {
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css
index 2e2c1225b..195baf78a 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/inst.css
@@ -1,4 +1,4 @@
-/* $Id: inst.css,v 1.3 2006/10/27 16:25:36 mtaal Exp $
+/* $Id: inst.css,v 1.4 2006/11/13 21:55:11 mtaal Exp $
This file contains rules that extend or override the more basic formatting defined in tigris.css. Edit it to customize the look of applications using tigris.css (instances). You are responsible for maintaining your own set of (optional) deltas from tigris.css defaults; this file is intended as an example.
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css
index 62c5dd147..17723ff27 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/ns4_only.css
@@ -1,4 +1,4 @@
-/* $Id: ns4_only.css,v 1.3 2006/10/27 16:25:36 mtaal Exp $
+/* $Id: ns4_only.css,v 1.4 2006/11/13 21:55:11 mtaal Exp $
simple rules suitable for Netscape 4.x only; richer rules are in tigris.css. see <http://style.tigris.org/> */
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css
index 2d84d1fee..df19c689c 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/print.css
@@ -1,4 +1,4 @@
-/* $Id: print.css,v 1.3 2006/10/27 16:25:36 mtaal Exp $ */
+/* $Id: print.css,v 1.4 2006/11/13 21:55:11 mtaal Exp $ */
#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks {
display: none;
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css
index 35cc535cd..ebc083ae2 100644
--- a/doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/skin/tigris.css
@@ -1,4 +1,4 @@
-/* $Id: tigris.css,v 1.3 2006/10/27 16:25:36 mtaal Exp $
+/* $Id: tigris.css,v 1.4 2006/11/13 21:55:11 mtaal Exp $
This file defines basic default formatting for HTML conforming to Tigris application style. To extend or override these rules for your instance, edit inst.css instead of this file. */
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/xsd/teneo/persistence-mapping-hibernate.xsd b/doc/org.eclipse.emf.teneo.doc/tutorials/xsd/teneo/persistence-mapping-hibernate.xsd
new file mode 100644
index 000000000..920b4ee89
--- /dev/null
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/xsd/teneo/persistence-mapping-hibernate.xsd
@@ -0,0 +1,533 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Teneo on Mon Nov 13 11:49:15 CET 2006 -->
+<xsd:schema targetNamespace="http://www.eclipse.org/emft/teneo" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.eclipse.org/emft/teneo">
+ <xsd:element name="persistence-mapping" type="PersistenceMapping"/>
+ <xsd:complexType name="PersistenceMapping">
+ <xsd:sequence minOccurs="1" maxOccurs="unbounded">
+ <xsd:element name="epackage" type="EPackage"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="EPackage">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="generic-generator" type="GenericGenerator">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbGenericGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="type-def" type="TypeDef"/>
+ <xsd:element name="sequence-generator" type="SequenceGenerator">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">sequenceGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="table-generator" type="TableGenerator">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="eclass" type="EClass"/>
+ <xsd:element name="edatatype" type="EDataType"/>
+ </xsd:choice>
+ <xsd:attribute name="namespace-uri" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EClass">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="association-override" type="AssociationOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">associationOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="discriminator-column" type="DiscriminatorColumn"/>
+ <xsd:element name="discriminator-value" type="xsd:string"/>
+ <xsd:element name="embeddable" type="Embeddable"/>
+ <xsd:element name="cache" type="Cache"/>
+ <xsd:element name="id-class" type="xsd:string"/>
+ <xsd:element name="inheritance" type="InheritanceType"/>
+ <xsd:element name="mapped-superclass" type="MappedSuperclass"/>
+ <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="secondary-table" type="SecondaryTable">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">secondaryTables</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="table" type="Table"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="eattribute" type="EAttribute"/>
+ <xsd:element name="ereference" type="EReference"/>
+ <xsd:element name="property" type="Property"/>
+ <xsd:element name="edatatype" type="EDataType"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EAttribute">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="basic" type="Basic"/>
+ <xsd:element name="column" type="Column"/>
+ <xsd:element name="enumerated" type="EnumType"/>
+ <xsd:element name="generated-value" type="GeneratedValue"/>
+ <xsd:element name="cascade" type="CascadeType"/>
+ <xsd:element name="collection-of-elements" type="CollectionOfElements"/>
+ <xsd:element name="columns" type="Column">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="id-bag" type="IdBag"/>
+ <xsd:element name="map-key" type="xsd:string"/>
+ <xsd:element name="type" type="Type"/>
+ <xsd:element name="where" type="xsd:string"/>
+ <xsd:element name="id" type="Id"/>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable"/>
+ <xsd:element name="lob" type="Lob"/>
+ <xsd:element name="one-to-many" type="OneToMany"/>
+ <xsd:element name="sequence-generator" type="SequenceGenerator"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="temporal" type="TemporalType"/>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="version" type="Version"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EReference">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="column" type="Column"/>
+ <xsd:element name="embedded" type="Embedded"/>
+ <xsd:element name="embedded-id" type="EmbeddedId"/>
+ <xsd:element name="cache" type="Cache"/>
+ <xsd:element name="cascade" type="CascadeType"/>
+ <xsd:element name="collection-of-elements" type="CollectionOfElements"/>
+ <xsd:element name="columns" type="Column">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="id-bag" type="IdBag"/>
+ <xsd:element name="map-key" type="xsd:string"/>
+ <xsd:element name="where" type="xsd:string"/>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable"/>
+ <xsd:element name="many-to-many" type="ManyToMany"/>
+ <xsd:element name="many-to-one" type="ManyToOne"/>
+ <xsd:element name="one-to-many" type="OneToMany"/>
+ <xsd:element name="one-to-one" type="OneToOne"/>
+ <xsd:element name="order-by" type="xsd:string"/>
+ <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="sequence-generator" type="SequenceGenerator"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="transient" type="Transient"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="Property">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="basic" type="Basic"/>
+ <xsd:element name="column" type="Column"/>
+ <xsd:element name="embedded" type="Embedded"/>
+ <xsd:element name="embedded-id" type="EmbeddedId"/>
+ <xsd:element name="enumerated" type="EnumType"/>
+ <xsd:element name="generated-value" type="GeneratedValue"/>
+ <xsd:element name="cache" type="Cache"/>
+ <xsd:element name="cascade" type="CascadeType"/>
+ <xsd:element name="collection-of-elements" type="CollectionOfElements"/>
+ <xsd:element name="columns" type="Column">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="id-bag" type="IdBag"/>
+ <xsd:element name="map-key" type="xsd:string"/>
+ <xsd:element name="type" type="Type"/>
+ <xsd:element name="where" type="xsd:string"/>
+ <xsd:element name="id" type="Id"/>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable"/>
+ <xsd:element name="lob" type="Lob"/>
+ <xsd:element name="many-to-many" type="ManyToMany"/>
+ <xsd:element name="many-to-one" type="ManyToOne"/>
+ <xsd:element name="one-to-many" type="OneToMany"/>
+ <xsd:element name="one-to-one" type="OneToOne"/>
+ <xsd:element name="order-by" type="xsd:string"/>
+ <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="sequence-generator" type="SequenceGenerator"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="temporal" type="TemporalType"/>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="version" type="Version"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EDataType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="basic" type="Basic"/>
+ <xsd:element name="column" type="Column"/>
+ <xsd:element name="enumerated" type="EnumType"/>
+ <xsd:element name="generated-value" type="GeneratedValue"/>
+ <xsd:element name="cascade" type="CascadeType"/>
+ <xsd:element name="collection-of-elements" type="CollectionOfElements"/>
+ <xsd:element name="columns" type="Column">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">hbColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="id-bag" type="IdBag"/>
+ <xsd:element name="map-key" type="xsd:string"/>
+ <xsd:element name="type-def" type="TypeDef"/>
+ <xsd:element name="where" type="xsd:string"/>
+ <xsd:element name="id" type="Id"/>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable"/>
+ <xsd:element name="lob" type="Lob"/>
+ <xsd:element name="one-to-many" type="OneToMany"/>
+ <xsd:element name="sequence-generator" type="SequenceGenerator"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="temporal" type="TemporalType"/>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="version" type="Version"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+<xsd:complexType name="Cache">
+ <xsd:attribute name="include" type="xsd:string" use="optional"/>
+ <xsd:attribute name="region" type="xsd:string" use="optional"/>
+ <xsd:attribute name="usage" type="CacheConcurrencyStrategy" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="CacheConcurrencyStrategy">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="NONE"/>
+ <xsd:enumeration value="READ_ONLY"/>
+ <xsd:enumeration value="NONSTRICT_READ_WRITE"/>
+ <xsd:enumeration value="READ_WRITE"/>
+ <xsd:enumeration value="TRANSACTIONAL"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="CollectionOfElements">
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="target-element" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="GenericGenerator">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="parameter" type="Parameter">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="strategy" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="IdBag">
+ <xsd:attribute name="generator" type="xsd:string" use="optional"/>
+ <xsd:attribute name="type" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Parameter">
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="Type">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="parameter" type="Parameter">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="type" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="TypeDef">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="parameter" type="Parameter">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">parameters</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="type-class" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="AssociationOverride">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="AttributeOverride">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="column" type="Column"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="Basic">
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="CascadeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ALL"/>
+ <xsd:enumeration value="PERSIST"/>
+ <xsd:enumeration value="MERGE"/>
+ <xsd:enumeration value="REMOVE"/>
+ <xsd:enumeration value="REFRESH"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Column">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="length" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="precision" type="xsd:int" use="optional"/>
+ <xsd:attribute name="scale" type="xsd:int" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unique" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="DiscriminatorColumn">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="discriminator-type" type="DiscriminatorType" use="optional"/>
+ <xsd:attribute name="length" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="DiscriminatorType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="STRING"/>
+ <xsd:enumeration value="CHAR"/>
+ <xsd:enumeration value="INTEGER"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Embeddable"/>
+<xsd:complexType name="Embedded"/>
+<xsd:complexType name="EmbeddedId"/>
+<xsd:simpleType name="EnumType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ORDINAL"/>
+ <xsd:enumeration value="STRING"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:simpleType name="FetchType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="LAZY"/>
+ <xsd:enumeration value="EAGER"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="GeneratedValue">
+ <xsd:attribute name="generator" type="xsd:string" use="optional"/>
+ <xsd:attribute name="strategy" type="GenerationType" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="GenerationType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="TABLE"/>
+ <xsd:enumeration value="SEQUENCE"/>
+ <xsd:enumeration value="IDENTITY"/>
+ <xsd:enumeration value="AUTO"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Id"/>
+<xsd:simpleType name="InheritanceType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SINGLE_TABLE"/>
+ <xsd:enumeration value="TABLE_PER_CLASS"/>
+ <xsd:enumeration value="JOINED"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="JoinColumn">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unique" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="JoinTable">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="inverse-join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">inverseJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="unique-constraint" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Lob"/>
+<xsd:complexType name="ManyToMany">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cascade" type="CascadeType"/>
+ </xsd:choice>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="indexed" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="ManyToOne">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cascade" type="CascadeType"/>
+ </xsd:choice>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="MappedSuperclass"/>
+<xsd:complexType name="OneToMany">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cascade" type="CascadeType"/>
+ </xsd:choice>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="indexed" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unique" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="OneToOne">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cascade" type="CascadeType"/>
+ </xsd:choice>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="PrimaryKeyJoinColumn">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="SecondaryTable">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="pk-join-column" type="PrimaryKeyJoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">pkJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="unique-constraint" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="SequenceGenerator">
+ <xsd:attribute name="allocation-size" type="xsd:int" use="optional"/>
+ <xsd:attribute name="initial-value" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="sequence-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Table">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="unique-constraint" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="TableGenerator">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="unique-constraint" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="allocation-size" type="xsd:int" use="optional"/>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="initial-value" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="pk-column-name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="pk-column-value" type="xsd:string" use="optional"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="value-column-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="TemporalType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="DATE"/>
+ <xsd:enumeration value="TIME"/>
+ <xsd:enumeration value="TIMESTAMP"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Transient"/>
+<xsd:complexType name="Version"/>
+</xsd:schema> \ No newline at end of file
diff --git a/doc/org.eclipse.emf.teneo.doc/tutorials/xsd/teneo/persistence-mapping-jpox.xsd b/doc/org.eclipse.emf.teneo.doc/tutorials/xsd/teneo/persistence-mapping-jpox.xsd
new file mode 100644
index 000000000..3c04a5ed8
--- /dev/null
+++ b/doc/org.eclipse.emf.teneo.doc/tutorials/xsd/teneo/persistence-mapping-jpox.xsd
@@ -0,0 +1,424 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated by Teneo on Tue Nov 07 10:39:04 CET 2006 -->
+<xsd:schema targetNamespace="http://www.elver.org/xsd/persistence-mapping.xsd"
+elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.elver.org/xsd">
+ <xsd:element name="persistence-mapping" type="PersistenceMapping"/>
+ <xsd:complexType name="PersistenceMapping">
+ <xsd:sequence minOccurs="1" maxOccurs="unbounded">
+ <xsd:element name="epackage" type="EPackage"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="EPackage">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="sequence-generator" type="SequenceGenerator">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">sequenceGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="table-generator" type="TableGenerator">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">tableGenerators</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="eclass" type="EClass"/>
+ <xsd:element name="edatatype" type="EDataType"/>
+ </xsd:choice>
+ <xsd:attribute name="namespace-uri" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EClass">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="association-override" type="AssociationOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">associationOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="discriminator-column" type="DiscriminatorColumn"/>
+ <xsd:element name="discriminator-value" type="xsd:string"/>
+ <xsd:element name="embeddable" type="Embeddable"/>
+ <xsd:element name="id-class" type="xsd:string"/>
+ <xsd:element name="inheritance" type="InheritanceType"/>
+ <xsd:element name="mapped-superclass" type="MappedSuperclass"/>
+ <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="secondary-table" type="SecondaryTable">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">secondaryTables</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="table" type="Table"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="eattribute" type="EAttribute"/>
+ <xsd:element name="ereference" type="EReference"/>
+ <xsd:element name="property" type="Property"/>
+ <xsd:element name="edatatype" type="EDataType"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EAttribute">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="basic" type="Basic"/>
+ <xsd:element name="column" type="Column"/>
+ <xsd:element name="enumerated" type="EnumType"/>
+ <xsd:element name="generated-value" type="GeneratedValue"/>
+ <xsd:element name="id" type="Id"/>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable"/>
+ <xsd:element name="lob" type="Lob"/>
+ <xsd:element name="one-to-many" type="OneToMany"/>
+ <xsd:element name="sequence-generator" type="SequenceGenerator"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="temporal" type="TemporalType"/>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="version" type="Version"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EReference">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="column" type="Column"/>
+ <xsd:element name="embedded" type="Embedded"/>
+ <xsd:element name="embedded-id" type="EmbeddedId"/>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable"/>
+ <xsd:element name="many-to-many" type="ManyToMany"/>
+ <xsd:element name="many-to-one" type="ManyToOne"/>
+ <xsd:element name="one-to-many" type="OneToMany"/>
+ <xsd:element name="one-to-one" type="OneToOne"/>
+ <xsd:element name="order-by" type="xsd:string"/>
+ <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="sequence-generator" type="SequenceGenerator"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="transient" type="Transient"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="Property">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="basic" type="Basic"/>
+ <xsd:element name="column" type="Column"/>
+ <xsd:element name="embedded" type="Embedded"/>
+ <xsd:element name="embedded-id" type="EmbeddedId"/>
+ <xsd:element name="enumerated" type="EnumType"/>
+ <xsd:element name="generated-value" type="GeneratedValue"/>
+ <xsd:element name="id" type="Id"/>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable"/>
+ <xsd:element name="lob" type="Lob"/>
+ <xsd:element name="many-to-many" type="ManyToMany"/>
+ <xsd:element name="many-to-one" type="ManyToOne"/>
+ <xsd:element name="one-to-many" type="OneToMany"/>
+ <xsd:element name="one-to-one" type="OneToOne"/>
+ <xsd:element name="order-by" type="xsd:string"/>
+ <xsd:element name="primary-key-join-column" type="PrimaryKeyJoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">primaryKeyJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="sequence-generator" type="SequenceGenerator"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="temporal" type="TemporalType"/>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="version" type="Version"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="EDataType">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="attribute-override" type="AttributeOverride">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">attributeOverrides</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="basic" type="Basic"/>
+ <xsd:element name="column" type="Column"/>
+ <xsd:element name="enumerated" type="EnumType"/>
+ <xsd:element name="generated-value" type="GeneratedValue"/>
+ <xsd:element name="id" type="Id"/>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-table" type="JoinTable"/>
+ <xsd:element name="lob" type="Lob"/>
+ <xsd:element name="one-to-many" type="OneToMany"/>
+ <xsd:element name="sequence-generator" type="SequenceGenerator"/>
+ <xsd:element name="table-generator" type="TableGenerator"/>
+ <xsd:element name="temporal" type="TemporalType"/>
+ <xsd:element name="transient" type="Transient"/>
+ <xsd:element name="version" type="Version"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:token" use="required"/>
+ </xsd:complexType>
+<xsd:complexType name="AssociationOverride">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="AttributeOverride">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="column" type="Column"/>
+ </xsd:choice>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+</xsd:complexType>
+<xsd:complexType name="Basic">
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="CascadeType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ALL"/>
+ <xsd:enumeration value="PERSIST"/>
+ <xsd:enumeration value="MERGE"/>
+ <xsd:enumeration value="REMOVE"/>
+ <xsd:enumeration value="REFRESH"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Column">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="length" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="precision" type="xsd:int" use="optional"/>
+ <xsd:attribute name="scale" type="xsd:int" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unique" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="DiscriminatorColumn">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="discriminator-type" type="DiscriminatorType" use="optional"/>
+ <xsd:attribute name="length" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="DiscriminatorType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="STRING"/>
+ <xsd:enumeration value="CHAR"/>
+ <xsd:enumeration value="INTEGER"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Embeddable"/>
+<xsd:complexType name="Embedded"/>
+<xsd:complexType name="EmbeddedId"/>
+<xsd:simpleType name="EnumType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ORDINAL"/>
+ <xsd:enumeration value="STRING"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:simpleType name="FetchType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="LAZY"/>
+ <xsd:enumeration value="EAGER"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="GeneratedValue">
+ <xsd:attribute name="generator" type="xsd:string" use="optional"/>
+ <xsd:attribute name="strategy" type="GenerationType" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="GenerationType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="TABLE"/>
+ <xsd:enumeration value="SEQUENCE"/>
+ <xsd:enumeration value="IDENTITY"/>
+ <xsd:enumeration value="AUTO"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Id"/>
+<xsd:simpleType name="InheritanceType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SINGLE_TABLE"/>
+ <xsd:enumeration value="TABLE_PER_CLASS"/>
+ <xsd:enumeration value="JOINED"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="JoinColumn">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="insertable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="nullable" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unique" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="updatable" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="JoinTable">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="inverse-join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">inverseJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="join-column" type="JoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">joinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="unique-constraint" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Lob"/>
+<xsd:complexType name="ManyToMany">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cascade" type="CascadeType"/>
+ </xsd:choice>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="indexed" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="ManyToOne">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cascade" type="CascadeType"/>
+ </xsd:choice>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="MappedSuperclass"/>
+<xsd:complexType name="OneToMany">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cascade" type="CascadeType"/>
+ </xsd:choice>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="indexed" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+ <xsd:attribute name="unique" type="xsd:boolean" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="OneToOne">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="cascade" type="CascadeType"/>
+ </xsd:choice>
+ <xsd:attribute name="cascade" type="CascadeType" use="optional"/>
+ <xsd:attribute name="fetch" type="FetchType" use="optional"/>
+ <xsd:attribute name="mapped-by" type="xsd:string" use="optional"/>
+ <xsd:attribute name="optional" type="xsd:boolean" use="optional"/>
+ <xsd:attribute name="target-entity" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="PrimaryKeyJoinColumn">
+ <xsd:attribute name="column-definition" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="SecondaryTable">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="pk-join-column" type="PrimaryKeyJoinColumn">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">pkJoinColumns</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="unique-constraint" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="SequenceGenerator">
+ <xsd:attribute name="allocation-size" type="xsd:int" use="optional"/>
+ <xsd:attribute name="initial-value" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="sequence-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="Table">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="unique-constraint" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:complexType name="TableGenerator">
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="unique-constraint" type="xsd:string">
+ <xsd:annotation>
+ <xsd:appinfo source="teneo/internal/EStructuralFeatureName">uniqueConstraints</xsd:appinfo>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="allocation-size" type="xsd:int" use="optional"/>
+ <xsd:attribute name="catalog" type="xsd:string" use="optional"/>
+ <xsd:attribute name="initial-value" type="xsd:int" use="optional"/>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="pk-column-name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="pk-column-value" type="xsd:string" use="optional"/>
+ <xsd:attribute name="schema" type="xsd:string" use="optional"/>
+ <xsd:attribute name="table" type="xsd:string" use="optional"/>
+ <xsd:attribute name="value-column-name" type="xsd:string" use="optional"/>
+</xsd:complexType>
+<xsd:simpleType name="TemporalType">
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="DATE"/>
+ <xsd:enumeration value="TIME"/>
+ <xsd:enumeration value="TIMESTAMP"/>
+ </xsd:restriction>
+</xsd:simpleType>
+<xsd:complexType name="Transient"/>
+<xsd:complexType name="Version"/>
+</xsd:schema> \ No newline at end of file

Back to the top