Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Taal2011-11-03 15:53:06 +0000
committerMartin Taal2011-11-03 15:53:06 +0000
commit875e4b17b15cf2154d2f9ecf8ac16f0cfebee8af (patch)
tree5d930ced0ddeb1fc343a90d9e949489e1069291f /tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample
parentc45fa56248444f97608b89998641f9e42a09ef7e (diff)
downloadorg.eclipse.emf.teneo-875e4b17b15cf2154d2f9ecf8ac16f0cfebee8af.tar.gz
org.eclipse.emf.teneo-875e4b17b15cf2154d2f9ecf8ac16f0cfebee8af.tar.xz
org.eclipse.emf.teneo-875e4b17b15cf2154d2f9ecf8ac16f0cfebee8af.zip
Regenerated hbm files
Diffstat (limited to 'tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample')
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CarAction_hsqldb_e_o_hibernate.hbm.xml115
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CarAction_hsqldb_h_o_hibernate.hbm.xml133
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CatalogResourceAction_hsqldb_e_o_hibernate.hbm.xml106
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CatalogResourceAction_hsqldb_h_o_hibernate.hbm.xml121
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ClaimAction_hsqldb_e_o_hibernate.hbm.xml65
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ClaimAction_hsqldb_h_o_hibernate.hbm.xml71
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/FleetAction_hsqldb_e_o_hibernate.hbm.xml422
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/FleetAction_hsqldb_h_o_hibernate.hbm.xml425
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ForumAction_hsqldb_e_o_hibernate.hbm.xml117
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ForumAction_hsqldb_h_o_hibernate.hbm.xml129
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/InventoryAction_hsqldb_e_o_hibernate.hbm.xml54
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/InventoryAction_hsqldb_h_o_hibernate.hbm.xml60
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/JuliaAction_hsqldb_e_o_hibernate.hbm.xml148
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/JuliaAction_hsqldb_h_o_hibernate.hbm.xml148
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryCheckNameAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryCheckNameAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryColLengthAction_hsqldb_e_o_hibernate.hbm.xml89
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryColLengthAction_hsqldb_h_o_hibernate.hbm.xml98
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDBothAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDBothAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDFeatureIDAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDFeatureIDAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryFKAction_hsqldb_e_o_hibernate.hbm.xml91
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryFKAction_hsqldb_h_o_hibernate.hbm.xml100
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryGlobalEagerAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryGlobalEagerAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryJoinTableNamingAction_hsqldb_e_o_hibernate.hbm.xml95
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryJoinTableNamingAction_hsqldb_h_o_hibernate.hbm.xml104
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryListAsBagAction_hsqldb_e_o_hibernate.hbm.xml82
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryListAsBagAction_hsqldb_h_o_hibernate.hbm.xml91
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNonResolvingAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNonResolvingAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNotifyingTestAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNotifyingTestAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryQualifyActionHB_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryQualifyActionHB_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceCutPasteAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceCutPasteAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceVisitTreeAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceVisitTreeAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibrarySerializationAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibrarySerializationAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryUseMappingFileAction_hsqldb_e_o_hibernate.hbm.xml0
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryUseMappingFileAction_hsqldb_h_o_hibernate.hbm.xml0
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ListAsIdBagAction_hsqldb_e_o_hibernate.hbm.xml41
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ListAsIdBagAction_hsqldb_h_o_hibernate.hbm.xml47
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/MindMapAction_hsqldb_e_o_hibernate.hbm.xml213
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/MindMapAction_hsqldb_h_o_hibernate.hbm.xml231
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/NoEscapeLibraryAction_hsqldb_e_o_hibernate.hbm.xml91
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/NoEscapeLibraryAction_hsqldb_h_o_hibernate.hbm.xml100
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PlayAction_hsqldb_e_o_hibernate.hbm.xml215
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PlayAction_hsqldb_h_o_hibernate.hbm.xml236
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PrimerPOAction_hsqldb_e_o_hibernate.hbm.xml93
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PrimerPOAction_hsqldb_h_o_hibernate.hbm.xml102
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ProductAction_hsqldb_e_o_hibernate.hbm.xml72
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ProductAction_hsqldb_h_o_hibernate.hbm.xml81
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalMapAsClassAction_hsqldb_e_o_hibernate.hbm.xml120
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalMapAsClassAction_hsqldb_h_o_hibernate.hbm.xml126
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalResourceReferenceAction_hsqldb_e_o_hibernate.hbm.xml120
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalResourceReferenceAction_hsqldb_h_o_hibernate.hbm.xml126
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleLibraryResourceAction_hsqldb_e_o_hibernate.hbm.xml85
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleLibraryResourceAction_hsqldb_h_o_hibernate.hbm.xml94
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleRentalAction_hsqldb_e_o_hibernate.hbm.xml120
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleRentalAction_hsqldb_h_o_hibernate.hbm.xml126
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SunBooksAction_hsqldb_e_o_hibernate.hbm.xml123
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SunBooksAction_hsqldb_h_o_hibernate.hbm.xml138
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/WorkFlowAction_hsqldb_e_o_hibernate.hbm.xml219
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/WorkFlowAction_hsqldb_h_o_hibernate.hbm.xml180
70 files changed, 7932 insertions, 0 deletions
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CarAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CarAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..0e583cadf
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CarAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="com.example.car.impl.CarFrameImpl" entity-name="CarFrame" abstract="false" lazy="false" table="`CARFRAME`">
+ <meta attribute="eclassName" inherit="false">CarFrame</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="carWheel" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARFRAME_CARWHEEL">
+ <column name="`CARFRAME_CARWHEEL_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARFRAME_CARWHEEL_IDX`"/>
+ <one-to-many entity-name="CarWheel"/>
+ </list>
+ <many-to-one name="carLinkRef" entity-name="CarLink" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="CARFRAME_CARLINKREF" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`CARLINK_CARLINKREF_E_ID`"/>
+ </many-to-one>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+ <class name="com.example.car.impl.CarLinkImpl" entity-name="CarLink" abstract="false" lazy="false" table="`CARLINK`">
+ <meta attribute="eclassName" inherit="false">CarLink</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id name="carLinkId" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CARLINKID`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+ <class name="com.example.car.impl.CarsListImpl" entity-name="CarsList" abstract="false" lazy="false" table="`CARSLIST`">
+ <meta attribute="eclassName" inherit="false">CarsList</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="carType" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARSLIST_CARTYPE">
+ <column name="`CARSLIST_CARTYPE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARSLIST_CARTYPE_IDX`"/>
+ <one-to-many entity-name="CarType"/>
+ </list>
+ <list name="carLink" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARSLIST_CARLINK">
+ <column name="`CARSLIST_CARLINK_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARSLIST_CARLINK_IDX`"/>
+ <one-to-many entity-name="CarLink"/>
+ </list>
+ </class>
+ <class name="com.example.car.impl.CarTireImpl" entity-name="CarTire" abstract="false" lazy="false" table="`CARTIRE`">
+ <meta attribute="eclassName" inherit="false">CarTire</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id name="name" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ </class>
+ <class name="com.example.car.impl.CarTypeImpl" entity-name="CarType" abstract="false" lazy="false" table="`CARTYPE`">
+ <meta attribute="eclassName" inherit="false">CarType</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id name="carID" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CARID`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="carFrame" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARTYPE_CARFRAME">
+ <column name="`CARTYPE_CARFRAME_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARTYPE_CARFRAME_IDX`"/>
+ <one-to-many entity-name="CarFrame"/>
+ </list>
+ </class>
+ <class name="com.example.car.impl.CarWheelImpl" entity-name="CarWheel" abstract="false" lazy="false" table="`CARWHEEL`">
+ <meta attribute="eclassName" inherit="false">CarWheel</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="carTire" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARWHEEL_CARTIRE">
+ <column name="`CARWHEEL_CARTIRE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARWHEEL_CARTIRE_IDX`"/>
+ <one-to-many entity-name="CarTire"/>
+ </list>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CarAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CarAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..0f8255ee5
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CarAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="com.example.car.impl.CarFrameImpl" entity-name="CarFrame" abstract="false" lazy="false" discriminator-value="CarFrame" table="`CARFRAME`">
+ <meta attribute="eclassName" inherit="false">CarFrame</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CARFRAMEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="carWheel" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARFRAME_CARWHEEL">
+ <column name="`CARFRAME_CARWHEEL_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARFRAME_CARWHEEL_IDX`"/>
+ <one-to-many entity-name="CarWheel"/>
+ </list>
+ <many-to-one name="carLinkRef" entity-name="CarLink" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="CARFRAME_CARLINKREF" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`CARLINK_CARLINKREF_E_ID`"/>
+ </many-to-one>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+ <class name="com.example.car.impl.CarLinkImpl" entity-name="CarLink" abstract="false" lazy="false" discriminator-value="CarLink" table="`CARLINK`">
+ <meta attribute="eclassName" inherit="false">CarLink</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id name="carLinkId" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CARLINKID`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CARLINKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+ <class name="com.example.car.impl.CarsListImpl" entity-name="CarsList" abstract="false" lazy="false" discriminator-value="CarsList" table="`CARSLIST`">
+ <meta attribute="eclassName" inherit="false">CarsList</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CARSLISTDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="carType" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARSLIST_CARTYPE">
+ <column name="`CARSLIST_CARTYPE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARSLIST_CARTYPE_IDX`"/>
+ <one-to-many entity-name="CarType"/>
+ </list>
+ <list name="carLink" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARSLIST_CARLINK">
+ <column name="`CARSLIST_CARLINK_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARSLIST_CARLINK_IDX`"/>
+ <one-to-many entity-name="CarLink"/>
+ </list>
+ </class>
+ <class name="com.example.car.impl.CarTireImpl" entity-name="CarTire" abstract="false" lazy="false" discriminator-value="CarTire" table="`CARTIRE`">
+ <meta attribute="eclassName" inherit="false">CarTire</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id name="name" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CARTIREDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ </class>
+ <class name="com.example.car.impl.CarTypeImpl" entity-name="CarType" abstract="false" lazy="false" discriminator-value="CarType" table="`CARTYPE`">
+ <meta attribute="eclassName" inherit="false">CarType</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id name="carID" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CARID`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CARTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="carFrame" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARTYPE_CARFRAME">
+ <column name="`CARTYPE_CARFRAME_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARTYPE_CARFRAME_IDX`"/>
+ <one-to-many entity-name="CarFrame"/>
+ </list>
+ </class>
+ <class name="com.example.car.impl.CarWheelImpl" entity-name="CarWheel" abstract="false" lazy="false" discriminator-value="CarWheel" table="`CARWHEEL`">
+ <meta attribute="eclassName" inherit="false">CarWheel</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.com/car.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CARWHEELDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="carTire" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CARWHEEL_CARTIRE">
+ <column name="`CARWHEEL_CARTIRE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CARWHEEL_CARTIRE_IDX`"/>
+ <one-to-many entity-name="CarTire"/>
+ </list>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CatalogResourceAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CatalogResourceAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..0456c4d72
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CatalogResourceAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.CatalogTypeImpl" entity-name="CatalogType" abstract="false" lazy="false" table="`CATALOGTYPE`">
+ <meta attribute="eclassName" inherit="false">CatalogType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id name="name" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="description" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </property>
+ <list name="subCatalog" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="CATALOGTYPE_SUBCATALOG">
+ <column name="`CATALOGTYPE_SUBCATALOG_NAME`" unique="false"/>
+ </key>
+ <list-index column="`CATALOGTYPE_SUBCATALOG_IDX`"/>
+ <one-to-many entity-name="CatalogType"/>
+ </list>
+ <list name="product" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="CATALOGTYPE_PRODUCT">
+ <column name="`CATALOGTYPE_PRODUCT_NAME`" unique="false"/>
+ </key>
+ <list-index column="`CATALOGTYPE_PRODUCT_IDX`"/>
+ <one-to-many entity-name="ProductType"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.PriceTypeImpl" entity-name="PriceType" abstract="false" lazy="false" table="`PRICETYPE`">
+ <meta attribute="eclassName" inherit="false">PriceType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="price" lazy="false" insert="true" update="true" not-null="false" unique="false" type="double">
+ <column not-null="false" unique="false" name="`PRICE`"/>
+ </property>
+ <property name="quantityTo" lazy="false" insert="true" update="true" not-null="false" unique="false" type="double">
+ <column not-null="false" unique="false" name="`QUANTITYTO`"/>
+ </property>
+ <many-to-one name="supplier" entity-name="SupplierType" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="PRICETYPE_SUPPLIER" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`SUPPLIERTYPE_SUPPLIER_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.ProductTypeImpl" entity-name="ProductType" abstract="false" lazy="false" table="`PRODUCTTYPE`">
+ <meta attribute="eclassName" inherit="false">ProductType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id name="code" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="description" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`DESCRIPTION`"/>
+ </property>
+ <list name="remark" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PRODUCTTYPE_REMARK">
+ <column name="`PRODUCTTYPE_REMARK_CODE`" unique="false"/>
+ </key>
+ <list-index column="`PRODUCTTYPE_REMARK_IDX`"/>
+ <one-to-many entity-name="StringType"/>
+ </list>
+ <many-to-one name="price" entity-name="PriceType" lazy="false" cascade="all" foreign-key="PRODUCTTYPE_PRICE" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`PRICETYPE_PRICE_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.StringTypeImpl" entity-name="StringType" abstract="false" lazy="false" table="`STRINGTYPE`">
+ <meta attribute="eclassName" inherit="false">StringType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="value" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`VALUE`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.SupplierTypeImpl" entity-name="SupplierType" abstract="false" lazy="false" table="`SUPPLIERTYPE`">
+ <meta attribute="eclassName" inherit="false">SupplierType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <property name="noOfEmployees" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`NOOFEMPLOYEES`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CatalogResourceAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CatalogResourceAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..9552541bf
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/CatalogResourceAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.CatalogTypeImpl" entity-name="CatalogType" abstract="false" lazy="false" discriminator-value="CatalogType" table="`CATALOGTYPE`">
+ <meta attribute="eclassName" inherit="false">CatalogType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id name="name" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CATALOGTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="description" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </property>
+ <list name="subCatalog" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="CATALOGTYPE_SUBCATALOG">
+ <column name="`CATALOGTYPE_SUBCATALOG_NAME`" unique="false"/>
+ </key>
+ <list-index column="`CATALOGTYPE_SUBCATALOG_IDX`"/>
+ <one-to-many entity-name="CatalogType"/>
+ </list>
+ <list name="product" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="CATALOGTYPE_PRODUCT">
+ <column name="`CATALOGTYPE_PRODUCT_NAME`" unique="false"/>
+ </key>
+ <list-index column="`CATALOGTYPE_PRODUCT_IDX`"/>
+ <one-to-many entity-name="ProductType"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.PriceTypeImpl" entity-name="PriceType" abstract="false" lazy="false" discriminator-value="PriceType" table="`PRICETYPE`">
+ <meta attribute="eclassName" inherit="false">PriceType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PRICETYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="price" lazy="false" insert="true" update="true" not-null="false" unique="false" type="double">
+ <column not-null="false" unique="false" name="`PRICE`"/>
+ </property>
+ <property name="quantityTo" lazy="false" insert="true" update="true" not-null="false" unique="false" type="double">
+ <column not-null="false" unique="false" name="`QUANTITYTO`"/>
+ </property>
+ <many-to-one name="supplier" entity-name="SupplierType" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="PRICETYPE_SUPPLIER" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`SUPPLIERTYPE_SUPPLIER_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.ProductTypeImpl" entity-name="ProductType" abstract="false" lazy="false" discriminator-value="ProductType" table="`PRODUCTTYPE`">
+ <meta attribute="eclassName" inherit="false">ProductType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id name="code" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PRODUCTTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="description" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`DESCRIPTION`"/>
+ </property>
+ <list name="remark" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PRODUCTTYPE_REMARK">
+ <column name="`PRODUCTTYPE_REMARK_CODE`" unique="false"/>
+ </key>
+ <list-index column="`PRODUCTTYPE_REMARK_IDX`"/>
+ <one-to-many entity-name="StringType"/>
+ </list>
+ <many-to-one name="price" entity-name="PriceType" lazy="false" cascade="all" foreign-key="PRODUCTTYPE_PRICE" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`PRICETYPE_PRICE_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.StringTypeImpl" entity-name="StringType" abstract="false" lazy="false" discriminator-value="StringType" table="`STRINGTYPE`">
+ <meta attribute="eclassName" inherit="false">StringType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="STRINGTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="value" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`VALUE`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.catalog.impl.SupplierTypeImpl" entity-name="SupplierType" abstract="false" lazy="false" discriminator-value="SupplierType" table="`SUPPLIERTYPE`">
+ <meta attribute="eclassName" inherit="false">SupplierType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/catalog</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="SUPPLIERTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <property name="noOfEmployees" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`NOOFEMPLOYEES`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ClaimAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ClaimAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..94e48be98
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ClaimAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.claim.impl.ClaimImpl" entity-name="Claim" abstract="false" lazy="false" table="`PCLM_NPRC_CLM`">
+ <meta attribute="eclassName" inherit="false">Claim</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/claim</meta>
+ <composite-id name="claimCompositeKey" class="org.eclipse.emf.teneo.samples.emf.sample.claim.impl.ClaimCompositeKeyImpl" access="org.eclipse.emf.teneo.hibernate.mapping.property.EReferencePropertyHandler">
+ <meta attribute="eclassName" inherit="false">ClaimCompositeKey</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/claim</meta>
+ <key-property name="claimNumber" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLM_NBR`" unique-key="c0"/>
+ </key-property>
+ <key-property name="claimExtensionNumber" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLM_EXT_NBR`" unique-key="c0"/>
+ </key-property>
+ </composite-id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="billingName" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`BILLING_NAME`" length="50"/>
+ </property>
+ <property name="claimGroupVSPId" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLM_GRP_VSP_ID`" length="3"/>
+ </property>
+ <property name="claimStatus" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLM_STATUS`" length="2"/>
+ </property>
+ <bag name="claimLine" inverse="true" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CLAIM_CLAIMLINE">
+ <column name="`CLM_NBR`" unique="false"/>
+ <column name="`CLM_EXT_NBR`" unique="false"/>
+ </key>
+ <one-to-many entity-name="ClaimLine"/>
+ </bag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.claim.impl.ClaimLineImpl" entity-name="ClaimLine" abstract="false" lazy="false" table="`PCLM_NPRC_CLMLN`">
+ <meta attribute="eclassName" inherit="false">ClaimLine</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/claim</meta>
+ <composite-id name="claimLineCompositeKey" class="org.eclipse.emf.teneo.samples.emf.sample.claim.impl.ClaimLineCompositeKeyImpl" access="org.eclipse.emf.teneo.hibernate.mapping.property.EReferencePropertyHandler">
+ <meta attribute="eclassName" inherit="false">ClaimLineCompositeKey</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/claim</meta>
+ <key-many-to-one name="claim" entity-name="Claim" foreign-key="CLAIMLINECOMPOSITEKEY_CLAIM" lazy="false">
+ <column not-null="false" unique="false" name="`CLM_NBR`" unique-key="c0"/>
+ <column not-null="false" unique="false" name="`CLM_EXT_NBR`" unique-key="c0"/>
+ </key-many-to-one>
+ <key-property name="claimLineNumber" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLMLN_NBR`" unique-key="c0"/>
+ </key-property>
+ </composite-id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="claimLineBilledAmount" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.math.BigDecimal">
+ <column not-null="false" unique="false" name="`CLMLN_BILL_AMT`"/>
+ </property>
+ <property name="serviceCode" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`SVC_CD`"/>
+ </property>
+ <property name="claimLineStatus" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLMLN_STATUS`" length="2"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ClaimAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ClaimAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..939bc023d
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ClaimAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.claim.impl.ClaimImpl" entity-name="Claim" abstract="false" lazy="false" discriminator-value="Claim" table="`PCLM_NPRC_CLM`">
+ <meta attribute="eclassName" inherit="false">Claim</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/claim</meta>
+ <composite-id name="claimCompositeKey" class="org.eclipse.emf.teneo.samples.emf.sample.claim.impl.ClaimCompositeKeyImpl" access="org.eclipse.emf.teneo.hibernate.mapping.property.EReferencePropertyHandler">
+ <meta attribute="eclassName" inherit="false">ClaimCompositeKey</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/claim</meta>
+ <key-property name="claimNumber" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLM_NBR`" unique-key="c0"/>
+ </key-property>
+ <key-property name="claimExtensionNumber" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLM_EXT_NBR`" unique-key="c0"/>
+ </key-property>
+ </composite-id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PCLM_NPRC_CLMDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="billingName" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`BILLING_NAME`" length="50"/>
+ </property>
+ <property name="claimGroupVSPId" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLM_GRP_VSP_ID`" length="3"/>
+ </property>
+ <property name="claimStatus" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLM_STATUS`" length="2"/>
+ </property>
+ <bag name="claimLine" inverse="true" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CLAIM_CLAIMLINE">
+ <column name="`CLM_NBR`" unique="false"/>
+ <column name="`CLM_EXT_NBR`" unique="false"/>
+ </key>
+ <one-to-many entity-name="ClaimLine"/>
+ </bag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.claim.impl.ClaimLineImpl" entity-name="ClaimLine" abstract="false" lazy="false" discriminator-value="ClaimLine" table="`PCLM_NPRC_CLMLN`">
+ <meta attribute="eclassName" inherit="false">ClaimLine</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/claim</meta>
+ <composite-id name="claimLineCompositeKey" class="org.eclipse.emf.teneo.samples.emf.sample.claim.impl.ClaimLineCompositeKeyImpl" access="org.eclipse.emf.teneo.hibernate.mapping.property.EReferencePropertyHandler">
+ <meta attribute="eclassName" inherit="false">ClaimLineCompositeKey</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/claim</meta>
+ <key-many-to-one name="claim" entity-name="Claim" foreign-key="CLAIMLINECOMPOSITEKEY_CLAIM" lazy="false">
+ <column not-null="false" unique="false" name="`CLM_NBR`" unique-key="c0"/>
+ <column not-null="false" unique="false" name="`CLM_EXT_NBR`" unique-key="c0"/>
+ </key-many-to-one>
+ <key-property name="claimLineNumber" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLMLN_NBR`" unique-key="c0"/>
+ </key-property>
+ </composite-id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PCLM_NPRC_CLMLNDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="claimLineBilledAmount" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.math.BigDecimal">
+ <column not-null="false" unique="false" name="`CLMLN_BILL_AMT`"/>
+ </property>
+ <property name="serviceCode" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`SVC_CD`"/>
+ </property>
+ <property name="claimLineStatus" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CLMLN_STATUS`" length="2"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/FleetAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/FleetAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..2d5444686
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/FleetAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,422 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class entity-name="Vehicle" abstract="false" lazy="false" table="`VEHICLE`">
+ <meta attribute="eclassName" inherit="false">Vehicle</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="brand" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`BRAND`"/>
+ </property>
+ <property name="model" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MODEL`"/>
+ </property>
+ <property name="make" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MAKE`"/>
+ </property>
+ <property name="color" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COLOR`"/>
+ </property>
+ <property name="plate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`PLATE`"/>
+ </property>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <property name="year" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`YEAR`"/>
+ </property>
+ <property name="length" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`LENGTH`"/>
+ </property>
+ <list name="availableColors" table="`VEHICLE_AVAILABLECOLORS`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`VEHICLE_AVAILABLECOLORS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`VEHICLE_AVAILABLECOLORS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <many-to-one name="owner" entity-name="Person" lazy="false" cascade="all" foreign-key="VEHICLE_OWNER" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`PERSON_OWNER_E_ID`"/>
+ </many-to-one>
+ <list name="manufacturedAt" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="VEHICLE_MANUFACTUREDAT">
+ <column name="`VEHICLE_MANUFACTUREDAT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`VEHICLE_MANUFACTUREDAT_IDX`"/>
+ <one-to-many entity-name="ManufacturingPlant"/>
+ </list>
+ <many-to-one name="tireSpec" entity-name="Tire" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="VEHICLE_TIRESPEC" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`TIRE_TIRESPEC_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class entity-name="Temporal" abstract="false" lazy="false" table="`TEMPORAL`">
+ <meta attribute="eclassName" inherit="false">Temporal</meta>
+ <meta attribute="epackage" inherit="false">http:///temporal.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="date" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`DATE`"/>
+ </property>
+ <array name="touchedAttributes" table="`TEMPORAL_TOUCHEDATTRIBUTES`" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`TEMPORAL_TOUCHEDATTRIBUTES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEMPORAL_TOUCHEDATTRIBUTES_IDX`"/>
+ <element type="byte"/>
+ </array>
+ <property name="continuity" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`CONTINUITY`"/>
+ </property>
+ <many-to-one name="versionHolder" entity-name="VersionHolder" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="TEMPORAL_VERSIONHOLDER" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`TEMPORAL_VERSIONHOLDER_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="versionHolderContainment" entity-name="VersionHolder" lazy="false" cascade="all" foreign-key="TEMPORAL_VERSIONHOLDERCONTAINMENT" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`VERSIONHOLDER_VERSIONHOLDERCONTAINMENT_E_ID`"/>
+ </many-to-one>
+ </class>
+ <joined-subclass entity-name="Person" abstract="false" lazy="false" extends="Temporal" table="`PERSON`">
+ <meta attribute="eclassName" inherit="false">Person</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <key>
+ <column name="`TEMPORAL_E_ID`"/>
+ </key>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <property name="employed" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`EMPLOYED`"/>
+ </property>
+ <list name="addresses" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PERSON_ADDRESSES">
+ <column name="`PERSON_ADDRESSES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PERSON_ADDRESSES_IDX`"/>
+ <one-to-many entity-name="Address"/>
+ </list>
+ <list name="ownedVehicles" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="PERSON_OWNEDVEHICLES">
+ <column name="`PERSON_OWNEDVEHICLES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PERSON_OWNEDVEHICLES_IDX`"/>
+ <one-to-many entity-name="VehicleInfo"/>
+ </list>
+ <many-to-one name="birthAddress" entity-name="Address" lazy="false" cascade="all" foreign-key="PERSON_BIRTHADDRESS" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`ADDRESS_BIRTHADDRESS_E_ID`"/>
+ </many-to-one>
+ </joined-subclass>
+ <joined-subclass entity-name="Address" abstract="false" lazy="false" extends="Temporal" table="`ADDRESS`">
+ <meta attribute="eclassName" inherit="false">Address</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <key>
+ <column name="`TEMPORAL_E_ID`"/>
+ </key>
+ <property name="streetName" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`STREETNAME`"/>
+ </property>
+ <property name="streetNumber" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`STREETNUMBER`"/>
+ </property>
+ <property name="city" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CITY`"/>
+ </property>
+ <property name="country" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COUNTRY`"/>
+ </property>
+ </joined-subclass>
+ <class entity-name="VehicleInfo" abstract="false" lazy="false" table="`VEHICLEINFO`">
+ <meta attribute="eclassName" inherit="false">VehicleInfo</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="acquisitionDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="timestamp">
+ <column not-null="true" unique="false" name="`ACQUISITIONDATE`"/>
+ </property>
+ <many-to-one name="vehicle" entity-name="Vehicle" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="VEHICLEINFO_VEHICLE" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`VEHICLE_VEHICLE_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class entity-name="ManufacturingPlant" abstract="false" lazy="false" table="`MANUFACTURINGPLANT`">
+ <meta attribute="eclassName" inherit="false">ManufacturingPlant</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <many-to-one name="address" entity-name="Address" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="MANUFACTURINGPLANT_ADDRESS" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`ADDRESS_ADDRESS_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="transportFleet" entity-name="Fleet" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="MANUFACTURINGPLANT_TRANSPORTFLEET" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`FLEET_TRANSPORTFLEET_E_ID`"/>
+ </many-to-one>
+ </class>
+ <joined-subclass entity-name="Fleet" abstract="false" lazy="false" extends="Temporal" table="`FLEET`">
+ <meta attribute="eclassName" inherit="false">Fleet</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <key>
+ <column name="`TEMPORAL_E_ID`"/>
+ </key>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <list name="vehicles" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="FLEET_VEHICLES">
+ <column name="`FLEET_VEHICLES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FLEET_VEHICLES_IDX`"/>
+ <one-to-many entity-name="Vehicle"/>
+ </list>
+ <list name="vehicleInformation" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="FLEET_VEHICLEINFORMATION">
+ <column name="`FLEET_VEHICLEINFORMATION_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FLEET_VEHICLEINFORMATION_IDX`"/>
+ <one-to-many entity-name="VehicleInfo"/>
+ </list>
+ <many-to-one name="serviceGarage" entity-name="Garage" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="FLEET_SERVICEGARAGE" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`FLEET_SERVICEGARAGE_E_ID`"/>
+ </many-to-one>
+ </joined-subclass>
+ <joined-subclass entity-name="Garage" abstract="false" lazy="false" extends="Temporal" table="`GARAGE`">
+ <meta attribute="eclassName" inherit="false">Garage</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <key>
+ <column name="`TEMPORAL_E_ID`"/>
+ </key>
+ <list name="vehicles" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="GARAGE_VEHICLES">
+ <column name="`GARAGE_VEHICLES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`GARAGE_VEHICLES_IDX`"/>
+ <one-to-many entity-name="Vehicle"/>
+ </list>
+ <many-to-one name="customerShuttles" entity-name="Fleet" lazy="false" cascade="all" foreign-key="GARAGE_CUSTOMERSHUTTLES" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`FLEET_CUSTOMERSHUTTLES_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="address" entity-name="Address" lazy="false" cascade="all" foreign-key="GARAGE_ADDRESS" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`ADDRESS_ADDRESS_E_ID`"/>
+ </many-to-one>
+ <list name="fleetsUsingGarage" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`FLEET_SERVICEGARAGE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`GARAGE_FLEETSUSINGGARAGE_IDX`"/>
+ <one-to-many entity-name="Fleet"/>
+ </list>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </joined-subclass>
+ <class entity-name="Tire" abstract="false" lazy="false" table="`TIRE`">
+ <meta attribute="eclassName" inherit="false">Tire</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="radius" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`RADIUS`"/>
+ </property>
+ <property name="width" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`WIDTH`"/>
+ </property>
+ <property name="profile" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PROFILE`"/>
+ </property>
+ <property name="make" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MAKE`"/>
+ </property>
+ <property name="model" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MODEL`"/>
+ </property>
+ </class>
+ <joined-subclass entity-name="Car" abstract="false" lazy="false" extends="Vehicle" table="`CAR`">
+ <meta attribute="eclassName" inherit="false">Car</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <key>
+ <column name="`PASSENGERVEHICLE_E_ID`"/>
+ </key>
+ <property name="passengerName" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`PASSENGERNAME`"/>
+ </property>
+ <property name="date" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`DATE`"/>
+ </property>
+ <array name="touchedAttributes" table="`CAR_TOUCHEDATTRIBUTES`" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`CAR_TOUCHEDATTRIBUTES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CAR_TOUCHEDATTRIBUTES_IDX`"/>
+ <element type="byte"/>
+ </array>
+ <property name="continuity" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`CONTINUITY`"/>
+ </property>
+ <many-to-one name="versionHolder" entity-name="VersionHolder" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="TEMPORAL_VERSIONHOLDER" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`CAR_VERSIONHOLDER_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="versionHolderContainment" entity-name="VersionHolder" lazy="false" cascade="all" foreign-key="TEMPORAL_VERSIONHOLDERCONTAINMENT" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`VERSIONHOLDER_VERSIONHOLDERCONTAINMENT_E_ID`"/>
+ </many-to-one>
+ <property name="numPassengers" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`NUMPASSENGERS`"/>
+ </property>
+ <property name="numTires" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`NUMTIRES`"/>
+ </property>
+ <list name="tires" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CAR_TIRES">
+ <column name="`CAR_TIRES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CAR_TIRES_IDX`"/>
+ <one-to-many entity-name="Tire"/>
+ </list>
+ </joined-subclass>
+ <joined-subclass entity-name="Hybrid" abstract="false" lazy="false" extends="Car" table="`HYBRID`">
+ <meta attribute="eclassName" inherit="false">Hybrid</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <key>
+ <column name="`CAR_E_ID`"/>
+ </key>
+ <property name="hasRechargePlug" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`HASRECHARGEPLUG`"/>
+ </property>
+ <property name="batteryLife" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`BATTERYLIFE`"/>
+ </property>
+ </joined-subclass>
+ <class name="fleet.PassengerVehicle" entity-name="PassengerVehicle" abstract="true" lazy="false" table="`PASSENGERVEHICLE`">
+ <meta attribute="eclassName" inherit="false">PassengerVehicle</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="passengerName" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`PASSENGERNAME`"/>
+ </property>
+ </class>
+ <joined-subclass entity-name="EngineFactory" abstract="false" lazy="false" extends="ManufacturingPlant" table="`ENGINEFACTORY`">
+ <meta attribute="eclassName" inherit="false">EngineFactory</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <key>
+ <column name="`MANUFACTURINGPLANT_E_ID`"/>
+ </key>
+ <property name="makesDieselEngines" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`MAKESDIESELENGINES`"/>
+ </property>
+ <list name="brands" table="`ENGINEFACTORY_BRANDS`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`ENGINEFACTORY_BRANDS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ENGINEFACTORY_BRANDS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </joined-subclass>
+ <joined-subclass entity-name="USAddress" abstract="false" lazy="false" extends="Address" table="`USADDRESS`">
+ <meta attribute="eclassName" inherit="false">USAddress</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <key>
+ <column name="`ADDRESS_E_ID`"/>
+ </key>
+ <property name="zipCode" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ZIPCODE`"/>
+ </property>
+ <property name="state" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`STATE`"/>
+ </property>
+ </joined-subclass>
+ <class entity-name="Vin" abstract="false" lazy="false" table="`VIN`">
+ <meta attribute="eclassName" inherit="false">Vin</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <property name="installationDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`INSTALLATIONDATE`"/>
+ </property>
+ <many-to-one name="vehicle" entity-name="Vehicle" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="VIN_VEHICLE" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`VEHICLE_VEHICLE_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class entity-name="TransportationDevice" abstract="false" lazy="false" table="`TRANSPORTATIONDEVICE`">
+ <meta attribute="eclassName" inherit="false">TransportationDevice</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="manufacturedBy" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MANUFACTUREDBY`"/>
+ </property>
+ <property name="year" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`YEAR`"/>
+ </property>
+ </class>
+ <class entity-name="VersionHolder" abstract="false" lazy="false" table="`VERSIONHOLDER`">
+ <meta attribute="eclassName" inherit="false">VersionHolder</meta>
+ <meta attribute="epackage" inherit="false">http:///temporal.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="versions" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`TEMPORAL_VERSIONHOLDER_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`VERSIONHOLDER_VERSIONS_IDX`"/>
+ <one-to-many entity-name="Temporal"/>
+ </list>
+ <property name="indexOfContinuity" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`INDEXOFCONTINUITY`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/FleetAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/FleetAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..5c8377fe0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/FleetAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class entity-name="Vehicle" abstract="false" lazy="false" discriminator-value="Vehicle" table="`VEHICLE`">
+ <meta attribute="eclassName" inherit="false">Vehicle</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="VEHICLEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="brand" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`BRAND`"/>
+ </property>
+ <property name="model" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MODEL`"/>
+ </property>
+ <property name="make" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MAKE`"/>
+ </property>
+ <property name="color" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COLOR`"/>
+ </property>
+ <property name="plate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`PLATE`"/>
+ </property>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <property name="year" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`YEAR`"/>
+ </property>
+ <property name="length" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`LENGTH`"/>
+ </property>
+ <list name="availableColors" table="`VEHICLE_AVAILABLECOLORS`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`VEHICLE_AVAILABLECOLORS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`VEHICLE_AVAILABLECOLORS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <many-to-one name="owner" entity-name="Person" lazy="false" cascade="all" foreign-key="VEHICLE_OWNER" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`PERSON_OWNER_E_ID`"/>
+ </many-to-one>
+ <list name="manufacturedAt" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="VEHICLE_MANUFACTUREDAT">
+ <column name="`VEHICLE_MANUFACTUREDAT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`VEHICLE_MANUFACTUREDAT_IDX`"/>
+ <one-to-many entity-name="ManufacturingPlant"/>
+ </list>
+ <many-to-one name="tireSpec" entity-name="Tire" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="VEHICLE_TIRESPEC" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`TIRE_TIRESPEC_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class entity-name="Temporal" abstract="false" lazy="false" discriminator-value="Temporal" table="`TEMPORAL`">
+ <meta attribute="eclassName" inherit="false">Temporal</meta>
+ <meta attribute="epackage" inherit="false">http:///temporal.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="TEMPORALDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="date" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`DATE`"/>
+ </property>
+ <array name="touchedAttributes" table="`TEMPORAL_TOUCHEDATTRIBUTES`" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`TEMPORAL_TOUCHEDATTRIBUTES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEMPORAL_TOUCHEDATTRIBUTES_IDX`"/>
+ <element type="byte"/>
+ </array>
+ <property name="continuity" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`CONTINUITY`"/>
+ </property>
+ <many-to-one name="versionHolder" entity-name="VersionHolder" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="TEMPORAL_VERSIONHOLDER" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`TEMPORAL_VERSIONHOLDER_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="versionHolderContainment" entity-name="VersionHolder" lazy="false" cascade="all" foreign-key="TEMPORAL_VERSIONHOLDERCONTAINMENT" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`VERSIONHOLDER_VERSIONHOLDERCONTAINMENT_E_ID`"/>
+ </many-to-one>
+ </class>
+ <subclass entity-name="Person" abstract="false" lazy="false" extends="Temporal" discriminator-value="Person">
+ <meta attribute="eclassName" inherit="false">Person</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <property name="employed" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`EMPLOYED`"/>
+ </property>
+ <list name="addresses" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PERSON_ADDRESSES">
+ <column name="`PERSON_ADDRESSES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PERSON_ADDRESSES_IDX`"/>
+ <one-to-many entity-name="Address"/>
+ </list>
+ <list name="ownedVehicles" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="PERSON_OWNEDVEHICLES">
+ <column name="`PERSON_OWNEDVEHICLES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PERSON_OWNEDVEHICLES_IDX`"/>
+ <one-to-many entity-name="VehicleInfo"/>
+ </list>
+ <many-to-one name="birthAddress" entity-name="Address" lazy="false" cascade="all" foreign-key="PERSON_BIRTHADDRESS" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`ADDRESS_BIRTHADDRESS_E_ID`"/>
+ </many-to-one>
+ </subclass>
+ <subclass entity-name="Address" abstract="false" lazy="false" extends="Temporal" discriminator-value="Address">
+ <meta attribute="eclassName" inherit="false">Address</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <property name="streetName" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`STREETNAME`"/>
+ </property>
+ <property name="streetNumber" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`STREETNUMBER`"/>
+ </property>
+ <property name="city" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CITY`"/>
+ </property>
+ <property name="country" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COUNTRY`"/>
+ </property>
+ </subclass>
+ <class entity-name="VehicleInfo" abstract="false" lazy="false" discriminator-value="VehicleInfo" table="`VEHICLEINFO`">
+ <meta attribute="eclassName" inherit="false">VehicleInfo</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="VEHICLEINFODTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="acquisitionDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="timestamp">
+ <column not-null="true" unique="false" name="`ACQUISITIONDATE`"/>
+ </property>
+ <many-to-one name="vehicle" entity-name="Vehicle" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="VEHICLEINFO_VEHICLE" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`VEHICLE_VEHICLE_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class entity-name="ManufacturingPlant" abstract="false" lazy="false" discriminator-value="ManufacturingPlant" table="`MANUFACTURINGPLANT`">
+ <meta attribute="eclassName" inherit="false">ManufacturingPlant</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="MANUFACTURINGPLANTDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <many-to-one name="address" entity-name="Address" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="MANUFACTURINGPLANT_ADDRESS" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`ADDRESS_ADDRESS_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="transportFleet" entity-name="Fleet" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="MANUFACTURINGPLANT_TRANSPORTFLEET" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`FLEET_TRANSPORTFLEET_E_ID`"/>
+ </many-to-one>
+ </class>
+ <subclass entity-name="Fleet" abstract="false" lazy="false" extends="Temporal" discriminator-value="Fleet">
+ <meta attribute="eclassName" inherit="false">Fleet</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <list name="vehicles" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="FLEET_VEHICLES">
+ <column name="`FLEET_VEHICLES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FLEET_VEHICLES_IDX`"/>
+ <one-to-many entity-name="Vehicle"/>
+ </list>
+ <list name="vehicleInformation" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="FLEET_VEHICLEINFORMATION">
+ <column name="`FLEET_VEHICLEINFORMATION_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FLEET_VEHICLEINFORMATION_IDX`"/>
+ <one-to-many entity-name="VehicleInfo"/>
+ </list>
+ <many-to-one name="serviceGarage" entity-name="Garage" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="FLEET_SERVICEGARAGE" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`FLEET_SERVICEGARAGE_E_ID`"/>
+ </many-to-one>
+ </subclass>
+ <subclass entity-name="Garage" abstract="false" lazy="false" extends="Temporal" discriminator-value="Garage">
+ <meta attribute="eclassName" inherit="false">Garage</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <list name="vehicles" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="GARAGE_VEHICLES">
+ <column name="`GARAGE_VEHICLES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`GARAGE_VEHICLES_IDX`"/>
+ <one-to-many entity-name="Vehicle"/>
+ </list>
+ <many-to-one name="customerShuttles" entity-name="Fleet" lazy="false" cascade="all" foreign-key="GARAGE_CUSTOMERSHUTTLES" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`FLEET_CUSTOMERSHUTTLES_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="address" entity-name="Address" lazy="false" cascade="all" foreign-key="GARAGE_ADDRESS" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`ADDRESS_ADDRESS_E_ID`"/>
+ </many-to-one>
+ <list name="fleetsUsingGarage" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`FLEET_SERVICEGARAGE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`GARAGE_FLEETSUSINGGARAGE_IDX`"/>
+ <one-to-many entity-name="Fleet"/>
+ </list>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </subclass>
+ <class entity-name="Tire" abstract="false" lazy="false" discriminator-value="Tire" table="`TIRE`">
+ <meta attribute="eclassName" inherit="false">Tire</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="TIREDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="radius" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`RADIUS`"/>
+ </property>
+ <property name="width" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`WIDTH`"/>
+ </property>
+ <property name="profile" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PROFILE`"/>
+ </property>
+ <property name="make" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MAKE`"/>
+ </property>
+ <property name="model" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MODEL`"/>
+ </property>
+ </class>
+ <subclass entity-name="Car" abstract="false" lazy="false" extends="Vehicle" discriminator-value="Car">
+ <meta attribute="eclassName" inherit="false">Car</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <property name="passengerName" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`PASSENGERNAME`"/>
+ </property>
+ <property name="date" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`DATE`"/>
+ </property>
+ <array name="touchedAttributes" table="`CAR_TOUCHEDATTRIBUTES`" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`CAR_TOUCHEDATTRIBUTES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CAR_TOUCHEDATTRIBUTES_IDX`"/>
+ <element type="byte"/>
+ </array>
+ <property name="continuity" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`CONTINUITY`"/>
+ </property>
+ <many-to-one name="versionHolder" entity-name="VersionHolder" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="TEMPORAL_VERSIONHOLDER" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`CAR_VERSIONHOLDER_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="versionHolderContainment" entity-name="VersionHolder" lazy="false" cascade="all" foreign-key="TEMPORAL_VERSIONHOLDERCONTAINMENT" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`VERSIONHOLDER_VERSIONHOLDERCONTAINMENT_E_ID`"/>
+ </many-to-one>
+ <property name="numPassengers" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`NUMPASSENGERS`"/>
+ </property>
+ <property name="numTires" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`NUMTIRES`"/>
+ </property>
+ <list name="tires" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="CAR_TIRES">
+ <column name="`CAR_TIRES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`CAR_TIRES_IDX`"/>
+ <one-to-many entity-name="Tire"/>
+ </list>
+ </subclass>
+ <subclass entity-name="Hybrid" abstract="false" lazy="false" extends="Car" discriminator-value="Hybrid">
+ <meta attribute="eclassName" inherit="false">Hybrid</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <property name="hasRechargePlug" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`HASRECHARGEPLUG`"/>
+ </property>
+ <property name="batteryLife" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`BATTERYLIFE`"/>
+ </property>
+ </subclass>
+ <class name="fleet.PassengerVehicle" entity-name="PassengerVehicle" abstract="true" lazy="false" discriminator-value="PassengerVehicle" table="`PASSENGERVEHICLE`">
+ <meta attribute="eclassName" inherit="false">PassengerVehicle</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PASSENGERVEHICLEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="passengerName" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`PASSENGERNAME`"/>
+ </property>
+ </class>
+ <subclass entity-name="EngineFactory" abstract="false" lazy="false" extends="ManufacturingPlant" discriminator-value="EngineFactory">
+ <meta attribute="eclassName" inherit="false">EngineFactory</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <property name="makesDieselEngines" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`MAKESDIESELENGINES`"/>
+ </property>
+ <list name="brands" table="`ENGINEFACTORY_BRANDS`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`ENGINEFACTORY_BRANDS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ENGINEFACTORY_BRANDS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </subclass>
+ <subclass entity-name="USAddress" abstract="false" lazy="false" extends="Address" discriminator-value="USAddress">
+ <meta attribute="eclassName" inherit="false">USAddress</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <property name="zipCode" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ZIPCODE`"/>
+ </property>
+ <property name="state" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`STATE`"/>
+ </property>
+ </subclass>
+ <class entity-name="Vin" abstract="false" lazy="false" discriminator-value="Vin" table="`VIN`">
+ <meta attribute="eclassName" inherit="false">Vin</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="VINDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ID`"/>
+ </property>
+ <property name="installationDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`INSTALLATIONDATE`"/>
+ </property>
+ <many-to-one name="vehicle" entity-name="Vehicle" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="VIN_VEHICLE" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`VEHICLE_VEHICLE_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class entity-name="TransportationDevice" abstract="false" lazy="false" discriminator-value="TransportationDevice" table="`TRANSPORTATIONDEVICE`">
+ <meta attribute="eclassName" inherit="false">TransportationDevice</meta>
+ <meta attribute="epackage" inherit="false">http:///fleet.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="TRANSPORTATIONDEVICEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="manufacturedBy" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MANUFACTUREDBY`"/>
+ </property>
+ <property name="year" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`YEAR`"/>
+ </property>
+ </class>
+ <class entity-name="VersionHolder" abstract="false" lazy="false" discriminator-value="VersionHolder" table="`VERSIONHOLDER`">
+ <meta attribute="eclassName" inherit="false">VersionHolder</meta>
+ <meta attribute="epackage" inherit="false">http:///temporal.ecore</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="VERSIONHOLDERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="versions" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`TEMPORAL_VERSIONHOLDER_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`VERSIONHOLDER_VERSIONS_IDX`"/>
+ <one-to-many entity-name="Temporal"/>
+ </list>
+ <property name="indexOfContinuity" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`INDEXOFCONTINUITY`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ForumAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ForumAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..3f8fd2dd3
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ForumAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="forum.TopicCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</param>
+ <param name="edatatype">TopicCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.forum.impl.ForumImpl" entity-name="Forum" abstract="false" lazy="false" table="`FORUM`">
+ <meta attribute="eclassName" inherit="false">Forum</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <list name="members" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="FORUM_MEMBERS">
+ <column name="`FORUM_MEMBERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FORUM_MEMBERS_IDX`"/>
+ <one-to-many entity-name="Member"/>
+ </list>
+ <list name="topics" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="FORUM_TOPICS">
+ <column name="`FORUM_TOPICS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FORUM_TOPICS_IDX`"/>
+ <one-to-many entity-name="Topic"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.forum.impl.MemberImpl" entity-name="Member" abstract="false" lazy="false" table="`MEMBER`">
+ <meta attribute="eclassName" inherit="false">Member</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="nickname" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NICKNAME`"/>
+ </property>
+ <list name="posts" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`POST_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MEMBER_POSTS_IDX`"/>
+ <one-to-many entity-name="Post"/>
+ </list>
+ <list name="created" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`TOPIC_CREATOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MEMBER_CREATED_IDX`"/>
+ <one-to-many entity-name="Topic"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.forum.impl.PostImpl" entity-name="Post" abstract="false" lazy="false" table="`POST`">
+ <meta attribute="eclassName" inherit="false">Post</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="comment" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`COMMENT`"/>
+ </property>
+ <many-to-one name="author" entity-name="Member" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="POST_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`POST_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="topic" entity-name="Topic" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="POST_TOPIC" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`POST_TOPIC_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.forum.impl.TopicImpl" entity-name="Topic" abstract="false" lazy="false" table="`TOPIC`">
+ <meta attribute="eclassName" inherit="false">Topic</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.forum.TopicCategory</param>
+ <param name="eclassifier">TopicCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</param>
+ </type>
+ </property>
+ <many-to-one name="creator" entity-name="Member" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="TOPIC_CREATOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`TOPIC_CREATOR_E_ID`"/>
+ </many-to-one>
+ <list name="posts" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`POST_TOPIC_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TOPIC_POSTS_IDX`"/>
+ <one-to-many entity-name="Post"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ForumAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ForumAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..341bc04d0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ForumAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="forum.TopicCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</param>
+ <param name="edatatype">TopicCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.forum.impl.ForumImpl" entity-name="Forum" abstract="false" lazy="false" discriminator-value="Forum" table="`FORUM`">
+ <meta attribute="eclassName" inherit="false">Forum</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="FORUMDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <list name="members" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="FORUM_MEMBERS">
+ <column name="`FORUM_MEMBERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FORUM_MEMBERS_IDX`"/>
+ <one-to-many entity-name="Member"/>
+ </list>
+ <list name="topics" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="FORUM_TOPICS">
+ <column name="`FORUM_TOPICS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FORUM_TOPICS_IDX`"/>
+ <one-to-many entity-name="Topic"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.forum.impl.MemberImpl" entity-name="Member" abstract="false" lazy="false" discriminator-value="Member" table="`MEMBER`">
+ <meta attribute="eclassName" inherit="false">Member</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="MEMBERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="nickname" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NICKNAME`"/>
+ </property>
+ <list name="posts" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`POST_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MEMBER_POSTS_IDX`"/>
+ <one-to-many entity-name="Post"/>
+ </list>
+ <list name="created" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`TOPIC_CREATOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MEMBER_CREATED_IDX`"/>
+ <one-to-many entity-name="Topic"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.forum.impl.PostImpl" entity-name="Post" abstract="false" lazy="false" discriminator-value="Post" table="`POST`">
+ <meta attribute="eclassName" inherit="false">Post</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="POSTDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="comment" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`COMMENT`"/>
+ </property>
+ <many-to-one name="author" entity-name="Member" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="POST_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`POST_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="topic" entity-name="Topic" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="POST_TOPIC" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`POST_TOPIC_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.forum.impl.TopicImpl" entity-name="Topic" abstract="false" lazy="false" discriminator-value="Topic" table="`TOPIC`">
+ <meta attribute="eclassName" inherit="false">Topic</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="TOPICDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.forum.TopicCategory</param>
+ <param name="eclassifier">TopicCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/forum</param>
+ </type>
+ </property>
+ <many-to-one name="creator" entity-name="Member" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="TOPIC_CREATOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`TOPIC_CREATOR_E_ID`"/>
+ </many-to-one>
+ <list name="posts" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`POST_TOPIC_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TOPIC_POSTS_IDX`"/>
+ <one-to-many entity-name="Post"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/InventoryAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/InventoryAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..45ad6dcc7
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/InventoryAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.inv.impl.PTypeImpl" entity-name="PType" abstract="false" lazy="false" table="`PTYPE`">
+ <meta attribute="eclassName" inherit="false">PType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/inv</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <many-to-one name="base" entity-name="PType" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="PTYPE_BASE" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`PTYPE_BASE_ID`"/>
+ </many-to-one>
+ <bag name="subTypes" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`PTYPE_BASE_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="PType"/>
+ </bag>
+ <bag name="subNOTypes" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="PTYPE_SUBNOTYPES">
+ <column name="`PTYPE_SUBNOTYPES_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="PType"/>
+ </bag>
+ <bag name="infoReferences" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="PTYPE_INFOREFERENCES">
+ <column name="`PTYPE_INFOREFERENCES_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="PDeclaration"/>
+ </bag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.inv.impl.PDeclarationImpl" entity-name="PDeclaration" abstract="false" lazy="false" table="`PDECLARATION`">
+ <meta attribute="eclassName" inherit="false">PDeclaration</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/inv</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/InventoryAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/InventoryAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..ec975742f
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/InventoryAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.inv.impl.PTypeImpl" entity-name="PType" abstract="false" lazy="false" discriminator-value="PType" table="`PTYPE`">
+ <meta attribute="eclassName" inherit="false">PType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/inv</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <many-to-one name="base" entity-name="PType" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="PTYPE_BASE" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`PTYPE_BASE_ID`"/>
+ </many-to-one>
+ <bag name="subTypes" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`PTYPE_BASE_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="PType"/>
+ </bag>
+ <bag name="subNOTypes" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="PTYPE_SUBNOTYPES">
+ <column name="`PTYPE_SUBNOTYPES_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="PType"/>
+ </bag>
+ <bag name="infoReferences" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="PTYPE_INFOREFERENCES">
+ <column name="`PTYPE_INFOREFERENCES_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="PDeclaration"/>
+ </bag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.inv.impl.PDeclarationImpl" entity-name="PDeclaration" abstract="false" lazy="false" discriminator-value="PDeclaration" table="`PDECLARATION`">
+ <meta attribute="eclassName" inherit="false">PDeclaration</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/inv</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PDECLARATIONDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/JuliaAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/JuliaAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..c96bc2a1e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/JuliaAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.BookDefinitionImpl" entity-name="BookDefinition" abstract="true" lazy="false" table="`BOOKDEFINITION`">
+ <meta attribute="eclassName" inherit="false">BookDefinition</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <id name="uniqueName" type="java.lang.String">
+ <column not-null="true" unique="false" name="`UNIQUENAME`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="description" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </property>
+ <property name="location" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`LOCATION`"/>
+ </property>
+ </class>
+ <joined-subclass name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.AdultBooksImpl" entity-name="AdultBooks" abstract="false" lazy="false" extends="BookDefinition" table="`ADULTBOOKS`">
+ <meta attribute="eclassName" inherit="false">AdultBooks</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <key>
+ <column name="`BOOKDEFINITION_UNIQUENAME`"/>
+ </key>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <property name="checkedout" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CHECKEDOUT`"/>
+ </property>
+ <property name="userid" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`USERID`"/>
+ </property>
+ </joined-subclass>
+ <class name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.ResourceLinkImpl" entity-name="ResourceLink" abstract="true" lazy="false" table="`RESOURCELINK`">
+ <meta attribute="eclassName" inherit="false">ResourceLink</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+ <joined-subclass name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.BookDefinitionResourceLinkImpl" entity-name="BookDefinitionResourceLink" abstract="false" lazy="false" extends="ResourceLink" table="`BOOKDEFINITIONRESOURCELINK`">
+ <meta attribute="eclassName" inherit="false">BookDefinitionResourceLink</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <key>
+ <column name="`RESOURCELINK_E_ID`"/>
+ </key>
+ <property name="bookSubject" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`BOOKSUBJECT`"/>
+ </property>
+ </joined-subclass>
+ <class name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.BooksInLibImpl" entity-name="BooksInLib" abstract="false" lazy="false" table="`BOOKSINLIB`">
+ <meta attribute="eclassName" inherit="false">BooksInLib</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="library" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="BOOKSINLIB_LIBRARY">
+ <column name="`BOOKSINLIB_LIBRARY_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`BOOKSINLIB_LIBRARY_IDX`"/>
+ <one-to-many entity-name="Library"/>
+ </list>
+ </class>
+ <joined-subclass name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.ChildrenBooksImpl" entity-name="ChildrenBooks" abstract="false" lazy="false" extends="BookDefinition" table="`CHILDRENBOOKS`">
+ <meta attribute="eclassName" inherit="false">ChildrenBooks</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <key>
+ <column name="`BOOKDEFINITION_UNIQUENAME`"/>
+ </key>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <property name="cartoon" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CARTOON`"/>
+ </property>
+ <property name="popup" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`POPUP`"/>
+ </property>
+ <many-to-one name="publisherDefinitionRef" entity-name="PublisherDefinition" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="CHILDRENBOOKS_PUBLISHERDEFINITIONREF" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`PUBLISHERDEFINITION_PUBLISHERDEFINITIONREF_UNIQUENAME`"/>
+ </many-to-one>
+ </joined-subclass>
+ <class name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <id name="uniqueName" type="java.lang.String">
+ <column not-null="true" unique="false" name="`UNIQUENAME`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="library" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_LIBRARY">
+ <column name="`LIBRARY_LIBRARY_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_LIBRARY_IDX`"/>
+ <one-to-many entity-name="Library"/>
+ </list>
+ <list name="abstractBookDefinitionGroup" table="`LIBRARY_ABSTRACTBOOKDEFINITIONGROUP`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`LIBRARY_ABSTRACTBOOKDEFINITIONGROUP_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_ABSTRACTBOOKDEFINITIONGROUP_IDX`"/>
+ <one-to-many entity-name="Library_abstractBookDefinitionGroup"/>
+ </list>
+ </class>
+ <class entity-name="Library_abstractBookDefinitionGroup" lazy="false" table="`LIBRARY_ABSTRACTBOOKDEFINITIONGROUP`">
+ <meta attribute="featureMap" inherit="false">Library</meta>
+ <id type="long">
+ <generator class="native"/>
+ </id>
+ <version name="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="fme_feature" type="java.lang.String"/>
+ <many-to-one name="abstractBookDefinition" entity-name="BookDefinition" lazy="false" cascade="all" foreign-key="LIBRARY_ABSTRACTBOOKDEFINITION" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`ABSTRACTBOOKDEFINITIONGROUP_BOOKDEFINITION_ABSTRACTBOOKDEFINITION_UNIQUENAME`"/>
+ </many-to-one>
+ </class>
+ <joined-subclass name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.PublisherDefinitionImpl" entity-name="PublisherDefinition" abstract="false" lazy="false" extends="BookDefinition" table="`PUBLISHERDEFINITION`">
+ <meta attribute="eclassName" inherit="false">PublisherDefinition</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <key>
+ <column name="`BOOKDEFINITION_UNIQUENAME`"/>
+ </key>
+ <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TITLE`"/>
+ </property>
+ <many-to-one name="resourceLink" entity-name="BookDefinitionResourceLink" lazy="false" cascade="all" foreign-key="PUBLISHERDEFINITION_RESOURCELINK" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`BOOKDEFINITIONRESOURCELINK_RESOURCELINK_E_ID`"/>
+ </many-to-one>
+ </joined-subclass>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/JuliaAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/JuliaAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..a0d7d576b
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/JuliaAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.BookDefinitionImpl" entity-name="BookDefinition" abstract="true" lazy="false" discriminator-value="BookDefinition" table="`BOOKDEFINITION`">
+ <meta attribute="eclassName" inherit="false">BookDefinition</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <id name="uniqueName" type="java.lang.String">
+ <column not-null="true" unique="false" name="`UNIQUENAME`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDEFINITIONDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="description" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </property>
+ <property name="location" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`LOCATION`"/>
+ </property>
+ </class>
+ <subclass name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.AdultBooksImpl" entity-name="AdultBooks" abstract="false" lazy="false" extends="BookDefinition" discriminator-value="AdultBooks">
+ <meta attribute="eclassName" inherit="false">AdultBooks</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TITLE`"/>
+ </property>
+ <property name="checkedout" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CHECKEDOUT`"/>
+ </property>
+ <property name="userid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USERID`"/>
+ </property>
+ </subclass>
+ <class name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.ResourceLinkImpl" entity-name="ResourceLink" abstract="true" lazy="false" discriminator-value="ResourceLink" table="`RESOURCELINK`">
+ <meta attribute="eclassName" inherit="false">ResourceLink</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="RESOURCELINKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+ <subclass name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.BookDefinitionResourceLinkImpl" entity-name="BookDefinitionResourceLink" abstract="false" lazy="false" extends="ResourceLink" discriminator-value="BookDefinitionResourceLink">
+ <meta attribute="eclassName" inherit="false">BookDefinitionResourceLink</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <property name="bookSubject" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`BOOKSUBJECT`"/>
+ </property>
+ </subclass>
+ <class name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.BooksInLibImpl" entity-name="BooksInLib" abstract="false" lazy="false" discriminator-value="BooksInLib" table="`BOOKSINLIB`">
+ <meta attribute="eclassName" inherit="false">BooksInLib</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKSINLIBDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="library" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="BOOKSINLIB_LIBRARY">
+ <column name="`BOOKSINLIB_LIBRARY_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`BOOKSINLIB_LIBRARY_IDX`"/>
+ <one-to-many entity-name="Library"/>
+ </list>
+ </class>
+ <subclass name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.ChildrenBooksImpl" entity-name="ChildrenBooks" abstract="false" lazy="false" extends="BookDefinition" discriminator-value="ChildrenBooks">
+ <meta attribute="eclassName" inherit="false">ChildrenBooks</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TITLE`"/>
+ </property>
+ <property name="cartoon" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CARTOON`"/>
+ </property>
+ <property name="popup" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`POPUP`"/>
+ </property>
+ <many-to-one name="publisherDefinitionRef" entity-name="PublisherDefinition" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="CHILDRENBOOKS_PUBLISHERDEFINITIONREF" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`PUBLISHERDEFINITION_PUBLISHERDEFINITIONREF_UNIQUENAME`"/>
+ </many-to-one>
+ </subclass>
+ <class name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <id name="uniqueName" type="java.lang.String">
+ <column not-null="true" unique="false" name="`UNIQUENAME`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="library" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_LIBRARY">
+ <column name="`LIBRARY_LIBRARY_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_LIBRARY_IDX`"/>
+ <one-to-many entity-name="Library"/>
+ </list>
+ <list name="abstractBookDefinitionGroup" table="`LIBRARY_ABSTRACTBOOKDEFINITIONGROUP`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`LIBRARY_ABSTRACTBOOKDEFINITIONGROUP_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_ABSTRACTBOOKDEFINITIONGROUP_IDX`"/>
+ <one-to-many entity-name="Library_abstractBookDefinitionGroup"/>
+ </list>
+ </class>
+ <class entity-name="Library_abstractBookDefinitionGroup" lazy="false" table="`LIBRARY_ABSTRACTBOOKDEFINITIONGROUP`">
+ <meta attribute="featureMap" inherit="false">Library</meta>
+ <id type="long">
+ <generator class="native"/>
+ </id>
+ <version name="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="fme_feature" type="java.lang.String"/>
+ <many-to-one name="abstractBookDefinition" entity-name="BookDefinition" lazy="false" cascade="all" foreign-key="LIBRARY_ABSTRACTBOOKDEFINITION" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`ABSTRACTBOOKDEFINITIONGROUP_BOOKDEFINITION_ABSTRACTBOOKDEFINITION_UNIQUENAME`"/>
+ </many-to-one>
+ </class>
+ <subclass name="com.ibm.websphere.appserver.schemas._6._0.ibm.portal.test.impl.PublisherDefinitionImpl" entity-name="PublisherDefinition" abstract="false" lazy="false" extends="BookDefinition" discriminator-value="PublisherDefinition">
+ <meta attribute="eclassName" inherit="false">PublisherDefinition</meta>
+ <meta attribute="epackage" inherit="false">http://www.ibm.com/websphere/appserver/schemas/6.0/ibm-portal-test.xsd</meta>
+ <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TITLE`"/>
+ </property>
+ <many-to-one name="resourceLink" entity-name="BookDefinitionResourceLink" lazy="false" cascade="all" foreign-key="PUBLISHERDEFINITION_RESOURCELINK" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`BOOKDEFINITIONRESOURCELINK_RESOURCELINK_E_ID`"/>
+ </many-to-one>
+ </subclass>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryCheckNameAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryCheckNameAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..ea53602e1
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryCheckNameAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BK_ATHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BK_THR_D`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LB_WR_D`" unique="false"/>
+ </key>
+ <list-index column="`TST_INDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LBRR_BKS">
+ <column name="`LB_BK_D`" unique="false"/>
+ </key>
+ <list-index column="`LB_BK_DX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BK_THR_D`" unique="false"/>
+ </key>
+ <list-index column="`WR_BK_DX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryCheckNameAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryCheckNameAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..95e3677e4
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryCheckNameAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BK_ATHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BK_THR_D`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LB_WR_D`" unique="false"/>
+ </key>
+ <list-index column="`TST_INDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LBRR_BKS">
+ <column name="`LB_BK_D`" unique="false"/>
+ </key>
+ <list-index column="`LB_BK_DX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BK_THR_D`" unique="false"/>
+ </key>
+ <list-index column="`WR_BK_DX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryColLengthAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryColLengthAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..6da4a15a8
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryColLengthAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEG`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BO_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRA`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LI_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LI_ID`" unique="false"/>
+ </key>
+ <list-index column="`L_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITE`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BO_ID`" unique="false"/>
+ </key>
+ <list-index column="`W_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryColLengthAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryColLengthAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..98a710e0d
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryColLengthAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEG`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BO_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRA`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRADTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LI_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LI_ID`" unique="false"/>
+ </key>
+ <list-index column="`L_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITE`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="myID" column="myID" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BO_ID`" unique="false"/>
+ </key>
+ <list-index column="`W_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDBothAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDBothAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1f2bf267e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDBothAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDBothAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDBothAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..30e3ba6d0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDBothAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDFeatureIDAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDFeatureIDAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1f2bf267e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDFeatureIDAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDFeatureIDAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDFeatureIDAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..30e3ba6d0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryContainerFeatureIDFeatureIDAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryFKAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryFKAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..a3b29b7a6
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryFKAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`" length="50"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`" length="50"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`" length="50"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <cache usage="read-write"/>
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryFKAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryFKAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..cd24dd90d
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryFKAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`" length="50"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`" length="50"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`" length="50"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <cache usage="read-write"/>
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryGlobalEagerAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryGlobalEagerAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..4cf0e63f8
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryGlobalEagerAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="false" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="false" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryGlobalEagerAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryGlobalEagerAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..eb9dfb4de
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryGlobalEagerAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="false" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="false" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryJoinTableNamingAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryJoinTableNamingAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..7635491c4
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryJoinTableNamingAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ <join table="`WRITER_BOOKS`" inverse="true" optional="true">
+ <key update="true">
+ <column name="`BOOK_TITLE`" unique="false"/>
+ </key>
+ <many-to-one name="author" entity-name="Writer" lazy="false" insert="true" update="true" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR">
+ <column not-null="false" unique="false" name="`WRITER_E_ID`"/>
+ </many-to-one>
+ </join>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <bag name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Writer"/>
+ </bag>
+ <bag name="books" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Book"/>
+ </bag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <bag name="books" table="`WRITER_BOOKS`" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <cache usage="read-write"/>
+ <key update="true">
+ <column name="`WRITER_E_ID`" unique="false"/>
+ </key>
+ <many-to-many entity-name="Book" unique="true">
+ <column name="`BOOK_TITLE`" unique="false"/>
+ </many-to-many>
+ </bag>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryJoinTableNamingAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryJoinTableNamingAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..5367a6c24
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryJoinTableNamingAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ <join table="`WRITER_BOOKS`" inverse="true" optional="true">
+ <key update="true">
+ <column name="`BOOK_TITLE`" unique="false"/>
+ </key>
+ <many-to-one name="author" entity-name="Writer" lazy="false" insert="true" update="true" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR">
+ <column not-null="false" unique="false" name="`WRITER_E_ID`"/>
+ </many-to-one>
+ </join>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <bag name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Writer"/>
+ </bag>
+ <bag name="books" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Book"/>
+ </bag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <bag name="books" table="`WRITER_BOOKS`" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <cache usage="read-write"/>
+ <key update="true">
+ <column name="`WRITER_E_ID`" unique="false"/>
+ </key>
+ <many-to-many entity-name="Book" unique="true">
+ <column name="`BOOK_TITLE`" unique="false"/>
+ </many-to-many>
+ </bag>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryListAsBagAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryListAsBagAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..229bc8dfc
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryListAsBagAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <bag name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Writer"/>
+ </bag>
+ <bag name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Book"/>
+ </bag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <bag name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Book"/>
+ </bag>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryListAsBagAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryListAsBagAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..be0f032e0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryListAsBagAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <bag name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Writer"/>
+ </bag>
+ <bag name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Book"/>
+ </bag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <bag name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <one-to-many entity-name="Book"/>
+ </bag>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNonResolvingAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNonResolvingAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1f2bf267e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNonResolvingAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNonResolvingAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNonResolvingAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..30e3ba6d0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNonResolvingAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNotifyingTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNotifyingTestAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1f2bf267e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNotifyingTestAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNotifyingTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNotifyingTestAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..30e3ba6d0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryNotifyingTestAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryQualifyActionHB_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryQualifyActionHB_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..e22960d31
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryQualifyActionHB_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="library.Book" abstract="false" lazy="false" table="`LIBRARY_BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="library.Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARY_BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="library.Library" abstract="false" lazy="false" table="`LIBRARY_LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="library.Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="library.Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="library.Writer" abstract="false" lazy="false" table="`LIBRARY_WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="library.Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryQualifyActionHB_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryQualifyActionHB_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..04008243e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryQualifyActionHB_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="library.Book" abstract="false" lazy="false" discriminator-value="library.Book" table="`LIBRARY_BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARY_BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="library.Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARY_BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="library.Library" abstract="false" lazy="false" discriminator-value="library.Library" table="`LIBRARY_LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARY_LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="library.Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="library.Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="library.Writer" abstract="false" lazy="false" discriminator-value="library.Writer" table="`LIBRARY_WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARY_WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="library.Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1f2bf267e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..30e3ba6d0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceCutPasteAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceCutPasteAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..06d70768a
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceCutPasteAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="persist,merge,delete,refresh,save-update,lock">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="persist,merge,delete,refresh,save-update,lock">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceCutPasteAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceCutPasteAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..7bad68c0d
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceCutPasteAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="persist,merge,delete,refresh,save-update,lock">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="persist,merge,delete,refresh,save-update,lock">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceVisitTreeAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceVisitTreeAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1f2bf267e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceVisitTreeAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceVisitTreeAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceVisitTreeAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..30e3ba6d0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryResourceVisitTreeAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibrarySerializationAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibrarySerializationAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1f2bf267e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibrarySerializationAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibrarySerializationAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibrarySerializationAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..30e3ba6d0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibrarySerializationAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryUseMappingFileAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryUseMappingFileAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryUseMappingFileAction_hsqldb_e_o_hibernate.hbm.xml
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryUseMappingFileAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryUseMappingFileAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/LibraryUseMappingFileAction_hsqldb_h_o_hibernate.hbm.xml
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ListAsIdBagAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ListAsIdBagAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..b1f84bb57
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ListAsIdBagAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.issues.bz237790.impl.OneImpl" entity-name="One" abstract="false" lazy="false" table="`ONE`">
+ <meta attribute="eclassName" inherit="false">One</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/bz225296</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <idbag name="manies" table="`ONE_MANY`" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <collection-id column="ID" type="long">
+ <generator class="increment"/>
+ </collection-id>
+ <key update="true">
+ <column name="`ONE_E_ID`" unique="false"/>
+ </key>
+ <many-to-many entity-name="Many" unique="false" foreign-key="ONE_MANIES">
+ <column name="`MANY_E_ID`" unique="false"/>
+ </many-to-many>
+ </idbag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.bz237790.impl.ManyImpl" entity-name="Many" abstract="false" lazy="false" table="`MANY`">
+ <meta attribute="eclassName" inherit="false">Many</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/bz225296</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MYNAME`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ListAsIdBagAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ListAsIdBagAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..6cd6e1077
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ListAsIdBagAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.issues.bz237790.impl.OneImpl" entity-name="One" abstract="false" lazy="false" discriminator-value="One" table="`ONE`">
+ <meta attribute="eclassName" inherit="false">One</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/bz225296</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ONEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <idbag name="manies" table="`ONE_MANY`" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <collection-id column="ID" type="long">
+ <generator class="increment"/>
+ </collection-id>
+ <key update="true">
+ <column name="`ONE_E_ID`" unique="false"/>
+ </key>
+ <many-to-many entity-name="Many" unique="false" foreign-key="ONE_MANIES">
+ <column name="`MANY_E_ID`" unique="false"/>
+ </many-to-many>
+ </idbag>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.bz237790.impl.ManyImpl" entity-name="Many" abstract="false" lazy="false" discriminator-value="Many" table="`MANY`">
+ <meta attribute="eclassName" inherit="false">Many</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/bz225296</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="MANYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`MYNAME`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/MindMapAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/MindMapAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..79b930a47
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/MindMapAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="mindmap.PriorityObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.example.org/mindmap</param>
+ <param name="edatatype">PriorityObject</param>
+ </typedef>
+ <typedef name="mindmap.RelationshipTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.example.org/mindmap</param>
+ <param name="edatatype">RelationshipTypeObject</param>
+ </typedef>
+ <class name="org.example.mindmap.impl.MapImpl" entity-name="Map" abstract="false" lazy="false" table="`MAP`">
+ <meta attribute="eclassName" inherit="false">Map</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="rootTopics" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="MAP_ROOTTOPICS">
+ <column name="`MAP_ROOTTOPICS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MAP_ROOTTOPICS_IDX`"/>
+ <one-to-many entity-name="Topic"/>
+ </list>
+ <list name="relations" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="MAP_RELATIONS">
+ <column name="`MAP_RELATIONS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MAP_RELATIONS_IDX`"/>
+ <one-to-many entity-name="Relationship"/>
+ </list>
+ <list name="resources" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="MAP_RESOURCES">
+ <column name="`MAP_RESOURCES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MAP_RESOURCES_IDX`"/>
+ <one-to-many entity-name="Resource"/>
+ </list>
+ <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TITLE`"/>
+ </property>
+ </class>
+ <class name="org.example.mindmap.impl.RelationshipImpl" entity-name="Relationship" abstract="false" lazy="false" table="`RELATIONSHIP`">
+ <meta attribute="eclassName" inherit="false">Relationship</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="label" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`LABEL`"/>
+ </property>
+ <many-to-one name="source" entity-name="Topic" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RELATIONSHIP_SOURCE" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`TOPIC_SOURCE_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="target" entity-name="Topic" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RELATIONSHIP_TARGET" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`TOPIC_TARGET_E_ID`"/>
+ </many-to-one>
+ <property name="type" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`TYPE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.example.mindmap.RelationshipType</param>
+ <param name="eclassifier">RelationshipType</param>
+ <param name="epackage">http://www.example.org/mindmap</param>
+ </type>
+ </property>
+ </class>
+ <class name="org.example.mindmap.impl.ResourceImpl" entity-name="Resource" abstract="false" lazy="false" table="`RESOURCE`">
+ <meta attribute="eclassName" inherit="false">Resource</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="comments" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`THREAD_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RESOURCE_COMMENTS_IDX`"/>
+ <one-to-many entity-name="Thread"/>
+ </list>
+ <property name="email" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`EMAIL`"/>
+ </property>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <list name="topics" lazy="true" cascade="merge,persist,save-update,lock,refresh" table="`RESOURCE_TOPIC`">
+ <key update="true">
+ <column name="`RESOURCE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RESOURCE_TOPICS_IDX`"/>
+ <many-to-many entity-name="Topic" unique="false" foreign-key="RESOURCE_TOPICS">
+ <column name="`TOPIC_E_ID`" not-null="true" unique="false"/>
+ </many-to-many>
+ </list>
+ </class>
+ <class name="org.example.mindmap.impl.ThreadImpl" entity-name="Thread" abstract="false" lazy="false" table="`THREAD`">
+ <meta attribute="eclassName" inherit="false">Thread</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="items" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="THREAD_ITEMS">
+ <column name="`THREAD_ITEMS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`THREAD_ITEMS_IDX`"/>
+ <one-to-many entity-name="ThreadItem"/>
+ </list>
+ <many-to-one name="author" entity-name="Resource" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="THREAD_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`THREAD_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="postDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`POSTDATE`"/>
+ </property>
+ <property name="subject" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`SUBJECT`"/>
+ </property>
+ </class>
+ <class name="org.example.mindmap.impl.ThreadItemImpl" entity-name="ThreadItem" abstract="false" lazy="false" table="`THREADITEM`">
+ <meta attribute="eclassName" inherit="false">ThreadItem</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <many-to-one name="author" entity-name="Resource" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="THREADITEM_AUTHOR" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`RESOURCE_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="body" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`BODY`"/>
+ </property>
+ <property name="itemPostDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`ITEMPOSTDATE`"/>
+ </property>
+ </class>
+ <class name="org.example.mindmap.impl.TopicImpl" entity-name="Topic" abstract="false" lazy="false" table="`TOPIC`">
+ <meta attribute="eclassName" inherit="false">Topic</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="comments" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="TOPIC_COMMENTS">
+ <column name="`TOPIC_COMMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TOPIC_COMMENTS_IDX`"/>
+ <one-to-many entity-name="Thread"/>
+ </list>
+ <property name="duration" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`DURATION`"/>
+ </property>
+ <property name="endDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`ENDDATE`"/>
+ </property>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <property name="percentComplete" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`PERCENTCOMPLETE`"/>
+ </property>
+ <property name="priority" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`PRIORITY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.example.mindmap.Priority</param>
+ <param name="eclassifier">Priority</param>
+ <param name="epackage">http://www.example.org/mindmap</param>
+ </type>
+ </property>
+ <list name="resources" lazy="true" cascade="merge,persist,save-update,lock,refresh" table="`TOPIC_RESOURCE`">
+ <key update="true">
+ <column name="`TOPIC_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TOPIC_RESOURCES_IDX`"/>
+ <many-to-many entity-name="Resource" unique="false" foreign-key="TOPIC_RESOURCES">
+ <column name="`RESOURCE_E_ID`" not-null="true" unique="false"/>
+ </many-to-many>
+ </list>
+ <property name="startDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`STARTDATE`"/>
+ </property>
+ <list name="subtopics" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="TOPIC_SUBTOPICS">
+ <column name="`TOPIC_SUBTOPICS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TOPIC_SUBTOPICS_IDX`"/>
+ <one-to-many entity-name="Topic"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/MindMapAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/MindMapAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..e08e098eb
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/MindMapAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,231 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="mindmap.PriorityObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.example.org/mindmap</param>
+ <param name="edatatype">PriorityObject</param>
+ </typedef>
+ <typedef name="mindmap.RelationshipTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.example.org/mindmap</param>
+ <param name="edatatype">RelationshipTypeObject</param>
+ </typedef>
+ <class name="org.example.mindmap.impl.MapImpl" entity-name="Map" abstract="false" lazy="false" discriminator-value="Map" table="`MAP`">
+ <meta attribute="eclassName" inherit="false">Map</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="MAPDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="rootTopics" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="MAP_ROOTTOPICS">
+ <column name="`MAP_ROOTTOPICS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MAP_ROOTTOPICS_IDX`"/>
+ <one-to-many entity-name="Topic"/>
+ </list>
+ <list name="relations" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="MAP_RELATIONS">
+ <column name="`MAP_RELATIONS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MAP_RELATIONS_IDX`"/>
+ <one-to-many entity-name="Relationship"/>
+ </list>
+ <list name="resources" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="MAP_RESOURCES">
+ <column name="`MAP_RESOURCES_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`MAP_RESOURCES_IDX`"/>
+ <one-to-many entity-name="Resource"/>
+ </list>
+ <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TITLE`"/>
+ </property>
+ </class>
+ <class name="org.example.mindmap.impl.RelationshipImpl" entity-name="Relationship" abstract="false" lazy="false" discriminator-value="Relationship" table="`RELATIONSHIP`">
+ <meta attribute="eclassName" inherit="false">Relationship</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="RELATIONSHIPDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="label" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`LABEL`"/>
+ </property>
+ <many-to-one name="source" entity-name="Topic" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RELATIONSHIP_SOURCE" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`TOPIC_SOURCE_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="target" entity-name="Topic" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RELATIONSHIP_TARGET" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`TOPIC_TARGET_E_ID`"/>
+ </many-to-one>
+ <property name="type" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`TYPE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.example.mindmap.RelationshipType</param>
+ <param name="eclassifier">RelationshipType</param>
+ <param name="epackage">http://www.example.org/mindmap</param>
+ </type>
+ </property>
+ </class>
+ <class name="org.example.mindmap.impl.ResourceImpl" entity-name="Resource" abstract="false" lazy="false" discriminator-value="Resource" table="`RESOURCE`">
+ <meta attribute="eclassName" inherit="false">Resource</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="RESOURCEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="comments" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`THREAD_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RESOURCE_COMMENTS_IDX`"/>
+ <one-to-many entity-name="Thread"/>
+ </list>
+ <property name="email" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`EMAIL`"/>
+ </property>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <list name="topics" lazy="true" cascade="merge,persist,save-update,lock,refresh" table="`RESOURCE_TOPIC`">
+ <key update="true">
+ <column name="`RESOURCE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RESOURCE_TOPICS_IDX`"/>
+ <many-to-many entity-name="Topic" unique="false" foreign-key="RESOURCE_TOPICS">
+ <column name="`TOPIC_E_ID`" not-null="true" unique="false"/>
+ </many-to-many>
+ </list>
+ </class>
+ <class name="org.example.mindmap.impl.ThreadImpl" entity-name="Thread" abstract="false" lazy="false" discriminator-value="Thread" table="`THREAD`">
+ <meta attribute="eclassName" inherit="false">Thread</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="THREADDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="items" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="THREAD_ITEMS">
+ <column name="`THREAD_ITEMS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`THREAD_ITEMS_IDX`"/>
+ <one-to-many entity-name="ThreadItem"/>
+ </list>
+ <many-to-one name="author" entity-name="Resource" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="THREAD_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`THREAD_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="postDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`POSTDATE`"/>
+ </property>
+ <property name="subject" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`SUBJECT`"/>
+ </property>
+ </class>
+ <class name="org.example.mindmap.impl.ThreadItemImpl" entity-name="ThreadItem" abstract="false" lazy="false" discriminator-value="ThreadItem" table="`THREADITEM`">
+ <meta attribute="eclassName" inherit="false">ThreadItem</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="THREADITEMDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <many-to-one name="author" entity-name="Resource" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="THREADITEM_AUTHOR" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`RESOURCE_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="body" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`BODY`"/>
+ </property>
+ <property name="itemPostDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`ITEMPOSTDATE`"/>
+ </property>
+ </class>
+ <class name="org.example.mindmap.impl.TopicImpl" entity-name="Topic" abstract="false" lazy="false" discriminator-value="Topic" table="`TOPIC`">
+ <meta attribute="eclassName" inherit="false">Topic</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.org/mindmap</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="TOPICDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="comments" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="TOPIC_COMMENTS">
+ <column name="`TOPIC_COMMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TOPIC_COMMENTS_IDX`"/>
+ <one-to-many entity-name="Thread"/>
+ </list>
+ <property name="duration" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`DURATION`"/>
+ </property>
+ <property name="endDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`ENDDATE`"/>
+ </property>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <property name="percentComplete" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`PERCENTCOMPLETE`"/>
+ </property>
+ <property name="priority" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`PRIORITY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.example.mindmap.Priority</param>
+ <param name="eclassifier">Priority</param>
+ <param name="epackage">http://www.example.org/mindmap</param>
+ </type>
+ </property>
+ <list name="resources" lazy="true" cascade="merge,persist,save-update,lock,refresh" table="`TOPIC_RESOURCE`">
+ <key update="true">
+ <column name="`TOPIC_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TOPIC_RESOURCES_IDX`"/>
+ <many-to-many entity-name="Resource" unique="false" foreign-key="TOPIC_RESOURCES">
+ <column name="`RESOURCE_E_ID`" not-null="true" unique="false"/>
+ </many-to-many>
+ </list>
+ <property name="startDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`STARTDATE`"/>
+ </property>
+ <list name="subtopics" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="TOPIC_SUBTOPICS">
+ <column name="`TOPIC_SUBTOPICS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TOPIC_SUBTOPICS_IDX`"/>
+ <one-to-many entity-name="Topic"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/NoEscapeLibraryAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/NoEscapeLibraryAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..155ee0f2d
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/NoEscapeLibraryAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="BOOK">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="TITLE" length="50"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="PAGES"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="CATEGORY"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="BOOK_AUTHOR_E_ID"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="TEST"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="LIBRARY">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="NAME" length="50"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="schrijvers">
+ <column name="LIBRARY_WRITERS_E_ID" unique="false"/>
+ </key>
+ <list-index column="TEST_INDEX"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="LIBRARY_BOOKS_E_ID" unique="false"/>
+ </key>
+ <list-index column="LIBRARY_BOOKS_IDX"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="WRITER">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="NAME" length="50"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <cache usage="read-write"/>
+ <key update="true">
+ <column name="BOOK_AUTHOR_E_ID" unique="false"/>
+ </key>
+ <list-index column="WRITER_BOOKS_IDX"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/NoEscapeLibraryAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/NoEscapeLibraryAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..638b9ca2f
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/NoEscapeLibraryAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="BOOK">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="TITLE" length="50"/>
+ </id>
+ <discriminator type="string">
+ <column name="DTYPE" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="PAGES"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="CATEGORY"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="BOOK_AUTHOR_E_ID"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="TEST"/>
+ </property>
+ </class>
+ <class entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="LIBRARY">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="DTYPE" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="NAME" length="50"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="schrijvers">
+ <column name="LIBRARY_WRITERS_E_ID" unique="false"/>
+ </key>
+ <list-index column="TEST_INDEX"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <cache usage="read-write"/>
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="LIBRARY_BOOKS_E_ID" unique="false"/>
+ </key>
+ <list-index column="LIBRARY_BOOKS_IDX"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="WRITER">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <cache usage="read-write"/>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="DTYPE" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="NAME" length="50"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <cache usage="read-write"/>
+ <key update="true">
+ <column name="BOOK_AUTHOR_E_ID" unique="false"/>
+ </key>
+ <list-index column="WRITER_BOOKS_IDX"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PlayAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PlayAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..edda08af0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PlayAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.ActTypeImpl" entity-name="ActType" abstract="false" lazy="false" table="`ACTTYPE`">
+ <meta attribute="eclassName" inherit="false">ActType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="scene" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="ACTTYPE_SCENE">
+ <column name="`ACTTYPE_SCENE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ACTTYPE_SCENE_IDX`"/>
+ <one-to-many entity-name="SceneType"/>
+ </list>
+ <property name="pindex" lazy="false" insert="true" update="true" not-null="false" unique="false" type="byte">
+ <column not-null="false" unique="false" name="`PINDEX`"/>
+ </property>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.FmTypeImpl" entity-name="FmType" abstract="false" lazy="false" table="`FMTYPE`">
+ <meta attribute="eclassName" inherit="false">FmType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="p" table="`FMTYPE_P`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`FMTYPE_P_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FMTYPE_P_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.PersonaeTypeImpl" entity-name="PersonaeType" abstract="false" lazy="false" table="`PERSONAETYPE`">
+ <meta attribute="eclassName" inherit="false">PersonaeType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="group" table="`PERSONAETYPE_GROUP`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`PERSONAETYPE_GROUP_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PERSONAETYPE_GROUP_IDX`"/>
+ <one-to-many entity-name="PersonaeType_group"/>
+ </list>
+ </class>
+ <class entity-name="PersonaeType_group" lazy="false" table="`PERSONAETYPE_GROUP`">
+ <meta attribute="featureMap" inherit="false">PersonaeType</meta>
+ <id type="long">
+ <generator class="native"/>
+ </id>
+ <version name="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="fme_feature" type="java.lang.String"/>
+ <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_TITLE`"/>
+ </property>
+ <property name="persona" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_PERSONA`"/>
+ </property>
+ <many-to-one name="personaGroup" entity-name="PersonaGroupType" lazy="false" cascade="all" foreign-key="PERSONAETYPE_PERSONAGROUP" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`GROUP_PERSONAGROUPTYPE_PERSONAGROUP_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.PersonaGroupTypeImpl" entity-name="PersonaGroupType" abstract="false" lazy="false" table="`PERSONAGROUPTYPE`">
+ <meta attribute="eclassName" inherit="false">PersonaGroupType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="persona" table="`PERSONAGROUPTYPE_PERSONA`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`PERSONAGROUPTYPE_PERSONA_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PERSONAGROUPTYPE_PERSONA_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <property name="groupDescription" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`GROUPDESCRIPTION`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.PlayTypeImpl" entity-name="PlayType" abstract="false" lazy="false" table="`PLAYTYPE`">
+ <meta attribute="eclassName" inherit="false">PlayType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <many-to-one name="fm" entity-name="FmType" lazy="false" cascade="all" foreign-key="PLAYTYPE_FM" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`FMTYPE_FM_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="personae" entity-name="PersonaeType" lazy="false" cascade="all" foreign-key="PLAYTYPE_PERSONAE" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`PERSONAETYPE_PERSONAE_E_ID`"/>
+ </many-to-one>
+ <property name="sceneDescription" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`SCENEDESCRIPTION`"/>
+ </property>
+ <property name="playSubTitle" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PLAYSUBTITLE`"/>
+ </property>
+ <list name="act" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PLAYTYPE_ACT">
+ <column name="`PLAYTYPE_ACT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PLAYTYPE_ACT_IDX`"/>
+ <one-to-many entity-name="ActType"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.SceneTypeImpl" entity-name="SceneType" abstract="false" lazy="false" table="`SCENETYPE`">
+ <meta attribute="eclassName" inherit="false">SceneType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="group" table="`SCENETYPE_GROUP`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`SCENETYPE_GROUP_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`SCENETYPE_GROUP_IDX`"/>
+ <one-to-many entity-name="SceneType_group"/>
+ </list>
+ <property name="pindex" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PINDEX`"/>
+ </property>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ </class>
+ <class entity-name="SceneType_group" lazy="false" table="`SCENETYPE_GROUP`">
+ <meta attribute="featureMap" inherit="false">SceneType</meta>
+ <id type="long">
+ <generator class="native"/>
+ </id>
+ <version name="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="fme_feature" type="java.lang.String"/>
+ <property name="stageDirections" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_STAGEDIRECTIONS`"/>
+ </property>
+ <many-to-one name="speech" entity-name="SpeechType" lazy="false" cascade="all" foreign-key="SCENETYPE_SPEECH" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`GROUP_SPEECHTYPE_SPEECH_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.SpeechTypeImpl" entity-name="SpeechType" abstract="false" lazy="false" table="`SPEECHTYPE`">
+ <meta attribute="eclassName" inherit="false">SpeechType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="group" table="`SPEECHTYPE_GROUP`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`SPEECHTYPE_GROUP_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`SPEECHTYPE_GROUP_IDX`"/>
+ <one-to-many entity-name="SpeechType_group"/>
+ </list>
+ </class>
+ <class entity-name="SpeechType_group" lazy="false" table="`SPEECHTYPE_GROUP`">
+ <meta attribute="featureMap" inherit="false">SpeechType</meta>
+ <id type="long">
+ <generator class="native"/>
+ </id>
+ <version name="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="fme_feature" type="java.lang.String"/>
+ <property name="speaker" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_SPEAKER`"/>
+ </property>
+ <property name="line" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_LINE`"/>
+ </property>
+ <property name="stageDirections" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_STAGEDIRECTIONS`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PlayAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PlayAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..c2e46214c
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PlayAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.ActTypeImpl" entity-name="ActType" abstract="false" lazy="false" discriminator-value="ActType" table="`ACTTYPE`">
+ <meta attribute="eclassName" inherit="false">ActType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ACTTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="scene" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="ACTTYPE_SCENE">
+ <column name="`ACTTYPE_SCENE_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ACTTYPE_SCENE_IDX`"/>
+ <one-to-many entity-name="SceneType"/>
+ </list>
+ <property name="pindex" lazy="false" insert="true" update="true" not-null="false" unique="false" type="byte">
+ <column not-null="false" unique="false" name="`PINDEX`"/>
+ </property>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.FmTypeImpl" entity-name="FmType" abstract="false" lazy="false" discriminator-value="FmType" table="`FMTYPE`">
+ <meta attribute="eclassName" inherit="false">FmType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="FMTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="p" table="`FMTYPE_P`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`FMTYPE_P_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`FMTYPE_P_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.PersonaeTypeImpl" entity-name="PersonaeType" abstract="false" lazy="false" discriminator-value="PersonaeType" table="`PERSONAETYPE`">
+ <meta attribute="eclassName" inherit="false">PersonaeType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PERSONAETYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="group" table="`PERSONAETYPE_GROUP`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`PERSONAETYPE_GROUP_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PERSONAETYPE_GROUP_IDX`"/>
+ <one-to-many entity-name="PersonaeType_group"/>
+ </list>
+ </class>
+ <class entity-name="PersonaeType_group" lazy="false" table="`PERSONAETYPE_GROUP`">
+ <meta attribute="featureMap" inherit="false">PersonaeType</meta>
+ <id type="long">
+ <generator class="native"/>
+ </id>
+ <version name="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="fme_feature" type="java.lang.String"/>
+ <property name="title" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_TITLE`"/>
+ </property>
+ <property name="persona" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_PERSONA`"/>
+ </property>
+ <many-to-one name="personaGroup" entity-name="PersonaGroupType" lazy="false" cascade="all" foreign-key="PERSONAETYPE_PERSONAGROUP" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`GROUP_PERSONAGROUPTYPE_PERSONAGROUP_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.PersonaGroupTypeImpl" entity-name="PersonaGroupType" abstract="false" lazy="false" discriminator-value="PersonaGroupType" table="`PERSONAGROUPTYPE`">
+ <meta attribute="eclassName" inherit="false">PersonaGroupType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PERSONAGROUPTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="persona" table="`PERSONAGROUPTYPE_PERSONA`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`PERSONAGROUPTYPE_PERSONA_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PERSONAGROUPTYPE_PERSONA_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <property name="groupDescription" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`GROUPDESCRIPTION`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.PlayTypeImpl" entity-name="PlayType" abstract="false" lazy="false" discriminator-value="PlayType" table="`PLAYTYPE`">
+ <meta attribute="eclassName" inherit="false">PlayType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PLAYTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ <many-to-one name="fm" entity-name="FmType" lazy="false" cascade="all" foreign-key="PLAYTYPE_FM" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`FMTYPE_FM_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="personae" entity-name="PersonaeType" lazy="false" cascade="all" foreign-key="PLAYTYPE_PERSONAE" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`PERSONAETYPE_PERSONAE_E_ID`"/>
+ </many-to-one>
+ <property name="sceneDescription" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`SCENEDESCRIPTION`"/>
+ </property>
+ <property name="playSubTitle" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PLAYSUBTITLE`"/>
+ </property>
+ <list name="act" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PLAYTYPE_ACT">
+ <column name="`PLAYTYPE_ACT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PLAYTYPE_ACT_IDX`"/>
+ <one-to-many entity-name="ActType"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.SceneTypeImpl" entity-name="SceneType" abstract="false" lazy="false" discriminator-value="SceneType" table="`SCENETYPE`">
+ <meta attribute="eclassName" inherit="false">SceneType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="SCENETYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="group" table="`SCENETYPE_GROUP`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`SCENETYPE_GROUP_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`SCENETYPE_GROUP_IDX`"/>
+ <one-to-many entity-name="SceneType_group"/>
+ </list>
+ <property name="pindex" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PINDEX`"/>
+ </property>
+ <property name="title" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </property>
+ </class>
+ <class entity-name="SceneType_group" lazy="false" table="`SCENETYPE_GROUP`">
+ <meta attribute="featureMap" inherit="false">SceneType</meta>
+ <id type="long">
+ <generator class="native"/>
+ </id>
+ <version name="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="fme_feature" type="java.lang.String"/>
+ <property name="stageDirections" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_STAGEDIRECTIONS`"/>
+ </property>
+ <many-to-one name="speech" entity-name="SpeechType" lazy="false" cascade="all" foreign-key="SCENETYPE_SPEECH" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`GROUP_SPEECHTYPE_SPEECH_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.play.impl.SpeechTypeImpl" entity-name="SpeechType" abstract="false" lazy="false" discriminator-value="SpeechType" table="`SPEECHTYPE`">
+ <meta attribute="eclassName" inherit="false">SpeechType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/play</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="SPEECHTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="group" table="`SPEECHTYPE_GROUP`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`SPEECHTYPE_GROUP_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`SPEECHTYPE_GROUP_IDX`"/>
+ <one-to-many entity-name="SpeechType_group"/>
+ </list>
+ </class>
+ <class entity-name="SpeechType_group" lazy="false" table="`SPEECHTYPE_GROUP`">
+ <meta attribute="featureMap" inherit="false">SpeechType</meta>
+ <id type="long">
+ <generator class="native"/>
+ </id>
+ <version name="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="fme_feature" type="java.lang.String"/>
+ <property name="speaker" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_SPEAKER`"/>
+ </property>
+ <property name="line" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_LINE`"/>
+ </property>
+ <property name="stageDirections" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`GROUP_STAGEDIRECTIONS`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PrimerPOAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PrimerPOAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..28f600bde
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PrimerPOAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.schemaprimerpo.impl.ItemImpl" entity-name="Item" abstract="false" lazy="false" table="`ITEM`">
+ <meta attribute="eclassName" inherit="false">Item</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/schemaprimerpo</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="productName" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PRODUCTNAME`"/>
+ </property>
+ <property name="quantity" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.math.BigInteger">
+ <column not-null="true" unique="false" name="`QUANTITY`"/>
+ </property>
+ <property name="uSPrice" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.math.BigDecimal">
+ <column not-null="true" unique="false" name="`USPRICE`"/>
+ </property>
+ <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COMMENT`"/>
+ </property>
+ <property name="shipDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`SHIPDATE`"/>
+ </property>
+ <property name="partNum" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PARTNUM`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.schemaprimerpo.impl.PurchaseOrderImpl" entity-name="PurchaseOrder" abstract="false" lazy="false" table="`PURCHASEORDER`">
+ <meta attribute="eclassName" inherit="false">PurchaseOrder</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/schemaprimerpo</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <many-to-one name="shipTo" entity-name="USAddress" lazy="false" cascade="all" foreign-key="PURCHASEORDER_SHIPTO" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`USADDRESS_SHIPTO_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="billTo" entity-name="USAddress" lazy="false" cascade="all" foreign-key="PURCHASEORDER_BILLTO" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`USADDRESS_BILLTO_E_ID`"/>
+ </many-to-one>
+ <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COMMENT`"/>
+ </property>
+ <list name="items" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PURCHASEORDER_ITEMS">
+ <column name="`PURCHASEORDER_ITEMS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PURCHASEORDER_ITEMS_IDX`"/>
+ <one-to-many entity-name="Item"/>
+ </list>
+ <property name="orderDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`ORDERDATE`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.schemaprimerpo.impl.USAddressImpl" entity-name="USAddress" abstract="false" lazy="false" table="`USADDRESS`">
+ <meta attribute="eclassName" inherit="false">USAddress</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/schemaprimerpo</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <property name="street" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`STREET`"/>
+ </property>
+ <property name="city" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CITY`"/>
+ </property>
+ <property name="state" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`STATE`"/>
+ </property>
+ <property name="zip" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.math.BigDecimal">
+ <column not-null="true" unique="false" name="`ZIP`"/>
+ </property>
+ <property name="country" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COUNTRY`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PrimerPOAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PrimerPOAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..5d3655098
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/PrimerPOAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.schemaprimerpo.impl.ItemImpl" entity-name="Item" abstract="false" lazy="false" discriminator-value="Item" table="`ITEM`">
+ <meta attribute="eclassName" inherit="false">Item</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/schemaprimerpo</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="productName" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PRODUCTNAME`"/>
+ </property>
+ <property name="quantity" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.math.BigInteger">
+ <column not-null="true" unique="false" name="`QUANTITY`"/>
+ </property>
+ <property name="uSPrice" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.math.BigDecimal">
+ <column not-null="true" unique="false" name="`USPRICE`"/>
+ </property>
+ <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COMMENT`"/>
+ </property>
+ <property name="shipDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`SHIPDATE`"/>
+ </property>
+ <property name="partNum" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PARTNUM`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.schemaprimerpo.impl.PurchaseOrderImpl" entity-name="PurchaseOrder" abstract="false" lazy="false" discriminator-value="PurchaseOrder" table="`PURCHASEORDER`">
+ <meta attribute="eclassName" inherit="false">PurchaseOrder</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/schemaprimerpo</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PURCHASEORDERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <many-to-one name="shipTo" entity-name="USAddress" lazy="false" cascade="all" foreign-key="PURCHASEORDER_SHIPTO" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`USADDRESS_SHIPTO_E_ID`"/>
+ </many-to-one>
+ <many-to-one name="billTo" entity-name="USAddress" lazy="false" cascade="all" foreign-key="PURCHASEORDER_BILLTO" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`USADDRESS_BILLTO_E_ID`"/>
+ </many-to-one>
+ <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COMMENT`"/>
+ </property>
+ <list name="items" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PURCHASEORDER_ITEMS">
+ <column name="`PURCHASEORDER_ITEMS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`PURCHASEORDER_ITEMS_IDX`"/>
+ <one-to-many entity-name="Item"/>
+ </list>
+ <property name="orderDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="false" unique="false" name="`ORDERDATE`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.schemaprimerpo.impl.USAddressImpl" entity-name="USAddress" abstract="false" lazy="false" discriminator-value="USAddress" table="`USADDRESS`">
+ <meta attribute="eclassName" inherit="false">USAddress</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/schemaprimerpo</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="USADDRESSDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <property name="street" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`STREET`"/>
+ </property>
+ <property name="city" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CITY`"/>
+ </property>
+ <property name="state" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`STATE`"/>
+ </property>
+ <property name="zip" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.math.BigDecimal">
+ <column not-null="true" unique="false" name="`ZIP`"/>
+ </property>
+ <property name="country" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COUNTRY`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ProductAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ProductAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..784acc8e9
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ProductAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.product.impl.ProductTypeImpl" entity-name="ProductType" abstract="false" lazy="false" table="`PRODUCTTYPE`">
+ <meta attribute="eclassName" inherit="false">ProductType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/product</meta>
+ <id name="id" type="java.lang.String">
+ <column not-null="true" unique="false" name="`ID`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CODE`"/>
+ </property>
+ <many-to-one name="supplier" entity-name="SupplierType" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="PRODUCTTYPE_SUPPLIER" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`SUPPLIERTYPE_SUPPLIER_E_ID`"/>
+ </many-to-one>
+ <property name="price" lazy="false" insert="true" update="true" not-null="false" unique="false" type="double">
+ <column not-null="false" unique="false" name="`PRICE`"/>
+ </property>
+ <property name="createdOn" lazy="false" insert="true" update="true" not-null="true" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="true" unique="false" name="`CREATEDON`"/>
+ </property>
+ <any id-type="long" meta-type="string" name="AnyOne" cascade="all">
+ <column not-null="false" unique="false" name="`ANYONE_TYPE`"/>
+ <column not-null="false" unique="false" name="`ANYONE_ID`"/>
+ </any>
+ <list name="AnyList" table="`PRODUCTTYPE_ANYLIST`" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PRODUCTTYPE_ANYLIST">
+ <column name="`PRODUCTTYPE_ID`" unique="false"/>
+ </key>
+ <list-index column="`PRODUCTTYPE_ANYLIST_IDX`"/>
+ <many-to-any id-type="long" meta-type="string">
+ <column not-null="false" unique="false" name="`ANYLIST_TYPE`"/>
+ <column not-null="false" unique="false" name="`ANYLIST_ID`"/>
+ </many-to-any>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.product.impl.SupplierTypeImpl" entity-name="SupplierType" abstract="false" lazy="false" table="`SUPPLIERTYPE`">
+ <meta attribute="eclassName" inherit="false">SupplierType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/product</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <property name="noOfEmployees" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`NOOFEMPLOYEES`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.product.impl.ClassificationTypeImpl" entity-name="ClassificationType" abstract="false" lazy="false" table="`CLASSIFICATIONTYPE`">
+ <meta attribute="eclassName" inherit="false">ClassificationType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/product</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ProductAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ProductAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..708fd21ad
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/ProductAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.product.impl.ProductTypeImpl" entity-name="ProductType" abstract="false" lazy="false" discriminator-value="ProductType" table="`PRODUCTTYPE`">
+ <meta attribute="eclassName" inherit="false">ProductType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/product</meta>
+ <id name="id" type="java.lang.String">
+ <column not-null="true" unique="false" name="`ID`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PRODUCTTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CODE`"/>
+ </property>
+ <many-to-one name="supplier" entity-name="SupplierType" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="PRODUCTTYPE_SUPPLIER" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`SUPPLIERTYPE_SUPPLIER_E_ID`"/>
+ </many-to-one>
+ <property name="price" lazy="false" insert="true" update="true" not-null="false" unique="false" type="double">
+ <column not-null="false" unique="false" name="`PRICE`"/>
+ </property>
+ <property name="createdOn" lazy="false" insert="true" update="true" not-null="true" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="true" unique="false" name="`CREATEDON`"/>
+ </property>
+ <any id-type="long" meta-type="string" name="AnyOne" cascade="all">
+ <column not-null="false" unique="false" name="`ANYONE_TYPE`"/>
+ <column not-null="false" unique="false" name="`ANYONE_ID`"/>
+ </any>
+ <list name="AnyList" table="`PRODUCTTYPE_ANYLIST`" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="PRODUCTTYPE_ANYLIST">
+ <column name="`PRODUCTTYPE_ID`" unique="false"/>
+ </key>
+ <list-index column="`PRODUCTTYPE_ANYLIST_IDX`"/>
+ <many-to-any id-type="long" meta-type="string">
+ <column not-null="false" unique="false" name="`ANYLIST_TYPE`"/>
+ <column not-null="false" unique="false" name="`ANYLIST_ID`"/>
+ </many-to-any>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.product.impl.SupplierTypeImpl" entity-name="SupplierType" abstract="false" lazy="false" discriminator-value="SupplierType" table="`SUPPLIERTYPE`">
+ <meta attribute="eclassName" inherit="false">SupplierType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/product</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="SUPPLIERTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <property name="noOfEmployees" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`NOOFEMPLOYEES`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.product.impl.ClassificationTypeImpl" entity-name="ClassificationType" abstract="false" lazy="false" discriminator-value="ClassificationType" table="`CLASSIFICATIONTYPE`">
+ <meta attribute="eclassName" inherit="false">ClassificationType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/product</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CLASSIFICATIONTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalMapAsClassAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalMapAsClassAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..669681f39
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalMapAsClassAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="rental.RentalBicycleTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalBicycleTypeObject</param>
+ </typedef>
+ <typedef name="rental.RentalCarSizeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalCarSizeObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalUnitImpl" entity-name="RentalUnit" abstract="true" lazy="true" table="`RENTALUNIT`" proxy="org.eclipse.emf.teneo.rental.RentalUnit">
+ <meta attribute="eclassName" inherit="false">RentalUnit</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id name="description" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ </class>
+ <joined-subclass name="org.eclipse.emf.teneo.rental.impl.RentalBicycleImpl" entity-name="RentalBicycle" abstract="false" lazy="true" extends="RentalUnit" table="`RENTALBICYCLE`" proxy="org.eclipse.emf.teneo.rental.RentalBicycle">
+ <meta attribute="eclassName" inherit="false">RentalBicycle</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <key>
+ <column name="`RENTALUNIT_DESCRIPTION`"/>
+ </key>
+ <property name="type" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`TYPE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalBicycleType</param>
+ <param name="eclassifier">RentalBicycleType</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ <many-to-one name="manufacturer" entity-name="Manufacturer" lazy="proxy" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALBICYCLE_MANUFACTURER" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`MANUFACTURER_MANUFACTURER_E_ID`"/>
+ </many-to-one>
+ </joined-subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.CurrencyImpl" entity-name="Currency" abstract="false" lazy="true" table="`CURRENCY`" proxy="org.eclipse.emf.teneo.rental.Currency">
+ <meta attribute="eclassName" inherit="false">Currency</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ </class>
+ <joined-subclass name="org.eclipse.emf.teneo.rental.impl.RentalCarImpl" entity-name="RentalCar" abstract="false" lazy="true" extends="RentalUnit" table="`RENTALCAR`" proxy="org.eclipse.emf.teneo.rental.RentalCar">
+ <meta attribute="eclassName" inherit="false">RentalCar</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <key>
+ <column name="`RENTALUNIT_DESCRIPTION`"/>
+ </key>
+ <property name="size" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`SIZE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalCarSize</param>
+ <param name="eclassifier">RentalCarSize</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ </joined-subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalContractImpl" entity-name="RentalContract" abstract="false" lazy="true" table="`RENTALCONTRACT`" proxy="org.eclipse.emf.teneo.rental.RentalContract">
+ <meta attribute="eclassName" inherit="false">RentalContract</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="rentToBusinessPartner" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`RENTTOBUSINESSPARTNER`"/>
+ </property>
+ <property name="startDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="timestamp">
+ <column not-null="true" unique="false" name="`STARTDATE`"/>
+ </property>
+ <property name="endDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`ENDDATE`"/>
+ </property>
+ <property name="cost" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`COST`"/>
+ </property>
+ <list name="rentalUnits" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="RENTALCONTRACT_RENTALUNITS">
+ <column name="`RENTALCONTRACT_RENTALUNITS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RENTALCONTRACT_RENTALUNITS_IDX`"/>
+ <one-to-many entity-name="RentalUnit"/>
+ </list>
+ <many-to-one name="currency" entity-name="Currency" lazy="proxy" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALCONTRACT_CURRENCY" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`CURRENCY_CURRENCY_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.rental.impl.ManufacturerImpl" entity-name="Manufacturer" abstract="false" lazy="true" table="`MANUFACTURER`" proxy="org.eclipse.emf.teneo.rental.Manufacturer">
+ <meta attribute="eclassName" inherit="false">Manufacturer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ <property name="trusted" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.Boolean">
+ <column not-null="false" unique="false" name="`TRUSTED`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalMapAsClassAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalMapAsClassAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..99ba3d288
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalMapAsClassAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="rental.RentalBicycleTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalBicycleTypeObject</param>
+ </typedef>
+ <typedef name="rental.RentalCarSizeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalCarSizeObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalUnitImpl" entity-name="RentalUnit" abstract="true" lazy="true" discriminator-value="RentalUnit" table="`RENTALUNIT`" proxy="org.eclipse.emf.teneo.rental.RentalUnit">
+ <meta attribute="eclassName" inherit="false">RentalUnit</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id name="description" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="RENTALUNITDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ </class>
+ <subclass name="org.eclipse.emf.teneo.rental.impl.RentalBicycleImpl" entity-name="RentalBicycle" abstract="false" lazy="true" extends="RentalUnit" discriminator-value="RentalBicycle" proxy="org.eclipse.emf.teneo.rental.RentalBicycle">
+ <meta attribute="eclassName" inherit="false">RentalBicycle</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <property name="type" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`TYPE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalBicycleType</param>
+ <param name="eclassifier">RentalBicycleType</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ <many-to-one name="manufacturer" entity-name="Manufacturer" lazy="proxy" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALBICYCLE_MANUFACTURER" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`MANUFACTURER_MANUFACTURER_E_ID`"/>
+ </many-to-one>
+ </subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.CurrencyImpl" entity-name="Currency" abstract="false" lazy="true" discriminator-value="Currency" table="`CURRENCY`" proxy="org.eclipse.emf.teneo.rental.Currency">
+ <meta attribute="eclassName" inherit="false">Currency</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CURRENCYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ </class>
+ <subclass name="org.eclipse.emf.teneo.rental.impl.RentalCarImpl" entity-name="RentalCar" abstract="false" lazy="true" extends="RentalUnit" discriminator-value="RentalCar" proxy="org.eclipse.emf.teneo.rental.RentalCar">
+ <meta attribute="eclassName" inherit="false">RentalCar</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <property name="size" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`SIZE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalCarSize</param>
+ <param name="eclassifier">RentalCarSize</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ </subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalContractImpl" entity-name="RentalContract" abstract="false" lazy="true" discriminator-value="RentalContract" table="`RENTALCONTRACT`" proxy="org.eclipse.emf.teneo.rental.RentalContract">
+ <meta attribute="eclassName" inherit="false">RentalContract</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="RENTALCONTRACTDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="rentToBusinessPartner" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`RENTTOBUSINESSPARTNER`"/>
+ </property>
+ <property name="startDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="timestamp">
+ <column not-null="true" unique="false" name="`STARTDATE`"/>
+ </property>
+ <property name="endDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`ENDDATE`"/>
+ </property>
+ <property name="cost" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`COST`"/>
+ </property>
+ <list name="rentalUnits" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="RENTALCONTRACT_RENTALUNITS">
+ <column name="`RENTALCONTRACT_RENTALUNITS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RENTALCONTRACT_RENTALUNITS_IDX`"/>
+ <one-to-many entity-name="RentalUnit"/>
+ </list>
+ <many-to-one name="currency" entity-name="Currency" lazy="proxy" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALCONTRACT_CURRENCY" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`CURRENCY_CURRENCY_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.rental.impl.ManufacturerImpl" entity-name="Manufacturer" abstract="false" lazy="true" discriminator-value="Manufacturer" table="`MANUFACTURER`" proxy="org.eclipse.emf.teneo.rental.Manufacturer">
+ <meta attribute="eclassName" inherit="false">Manufacturer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="MANUFACTURERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ <property name="trusted" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.Boolean">
+ <column not-null="false" unique="false" name="`TRUSTED`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalResourceReferenceAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalResourceReferenceAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..c9192e96b
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalResourceReferenceAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="rental.RentalBicycleTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalBicycleTypeObject</param>
+ </typedef>
+ <typedef name="rental.RentalCarSizeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalCarSizeObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalUnitImpl" entity-name="RentalUnit" abstract="true" lazy="false" table="`RENTALUNIT`">
+ <meta attribute="eclassName" inherit="false">RentalUnit</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id name="description" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ </class>
+ <joined-subclass name="org.eclipse.emf.teneo.rental.impl.RentalBicycleImpl" entity-name="RentalBicycle" abstract="false" lazy="false" extends="RentalUnit" table="`RENTALBICYCLE`">
+ <meta attribute="eclassName" inherit="false">RentalBicycle</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <key>
+ <column name="`RENTALUNIT_DESCRIPTION`"/>
+ </key>
+ <property name="type" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`TYPE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalBicycleType</param>
+ <param name="eclassifier">RentalBicycleType</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ <many-to-one name="manufacturer" entity-name="Manufacturer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALBICYCLE_MANUFACTURER" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`MANUFACTURER_MANUFACTURER_E_ID`"/>
+ </many-to-one>
+ </joined-subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.CurrencyImpl" entity-name="Currency" abstract="false" lazy="false" table="`CURRENCY`">
+ <meta attribute="eclassName" inherit="false">Currency</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ </class>
+ <joined-subclass name="org.eclipse.emf.teneo.rental.impl.RentalCarImpl" entity-name="RentalCar" abstract="false" lazy="false" extends="RentalUnit" table="`RENTALCAR`">
+ <meta attribute="eclassName" inherit="false">RentalCar</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <key>
+ <column name="`RENTALUNIT_DESCRIPTION`"/>
+ </key>
+ <property name="size" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`SIZE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalCarSize</param>
+ <param name="eclassifier">RentalCarSize</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ </joined-subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalContractImpl" entity-name="RentalContract" abstract="false" lazy="false" table="`RENTALCONTRACT`">
+ <meta attribute="eclassName" inherit="false">RentalContract</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="rentToBusinessPartner" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`RENTTOBUSINESSPARTNER`"/>
+ </property>
+ <property name="startDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="timestamp">
+ <column not-null="true" unique="false" name="`STARTDATE`"/>
+ </property>
+ <property name="endDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`ENDDATE`"/>
+ </property>
+ <property name="cost" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`COST`"/>
+ </property>
+ <list name="rentalUnits" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="RENTALCONTRACT_RENTALUNITS">
+ <column name="`RENTALCONTRACT_RENTALUNITS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RENTALCONTRACT_RENTALUNITS_IDX`"/>
+ <one-to-many entity-name="RentalUnit"/>
+ </list>
+ <many-to-one name="currency" entity-name="Currency" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALCONTRACT_CURRENCY" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`CURRENCY_CURRENCY_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.rental.impl.ManufacturerImpl" entity-name="Manufacturer" abstract="false" lazy="false" table="`MANUFACTURER`">
+ <meta attribute="eclassName" inherit="false">Manufacturer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ <property name="trusted" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.Boolean">
+ <column not-null="false" unique="false" name="`TRUSTED`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalResourceReferenceAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalResourceReferenceAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..b6199ffdc
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/RentalResourceReferenceAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="rental.RentalBicycleTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalBicycleTypeObject</param>
+ </typedef>
+ <typedef name="rental.RentalCarSizeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalCarSizeObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalUnitImpl" entity-name="RentalUnit" abstract="true" lazy="false" discriminator-value="RentalUnit" table="`RENTALUNIT`">
+ <meta attribute="eclassName" inherit="false">RentalUnit</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id name="description" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="RENTALUNITDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ </class>
+ <subclass name="org.eclipse.emf.teneo.rental.impl.RentalBicycleImpl" entity-name="RentalBicycle" abstract="false" lazy="false" extends="RentalUnit" discriminator-value="RentalBicycle">
+ <meta attribute="eclassName" inherit="false">RentalBicycle</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <property name="type" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`TYPE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalBicycleType</param>
+ <param name="eclassifier">RentalBicycleType</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ <many-to-one name="manufacturer" entity-name="Manufacturer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALBICYCLE_MANUFACTURER" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`MANUFACTURER_MANUFACTURER_E_ID`"/>
+ </many-to-one>
+ </subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.CurrencyImpl" entity-name="Currency" abstract="false" lazy="false" discriminator-value="Currency" table="`CURRENCY`">
+ <meta attribute="eclassName" inherit="false">Currency</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CURRENCYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ </class>
+ <subclass name="org.eclipse.emf.teneo.rental.impl.RentalCarImpl" entity-name="RentalCar" abstract="false" lazy="false" extends="RentalUnit" discriminator-value="RentalCar">
+ <meta attribute="eclassName" inherit="false">RentalCar</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <property name="size" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`SIZE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalCarSize</param>
+ <param name="eclassifier">RentalCarSize</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ </subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalContractImpl" entity-name="RentalContract" abstract="false" lazy="false" discriminator-value="RentalContract" table="`RENTALCONTRACT`">
+ <meta attribute="eclassName" inherit="false">RentalContract</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="RENTALCONTRACTDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="rentToBusinessPartner" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`RENTTOBUSINESSPARTNER`"/>
+ </property>
+ <property name="startDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="timestamp">
+ <column not-null="true" unique="false" name="`STARTDATE`"/>
+ </property>
+ <property name="endDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`ENDDATE`"/>
+ </property>
+ <property name="cost" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`COST`"/>
+ </property>
+ <list name="rentalUnits" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="RENTALCONTRACT_RENTALUNITS">
+ <column name="`RENTALCONTRACT_RENTALUNITS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RENTALCONTRACT_RENTALUNITS_IDX`"/>
+ <one-to-many entity-name="RentalUnit"/>
+ </list>
+ <many-to-one name="currency" entity-name="Currency" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALCONTRACT_CURRENCY" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`CURRENCY_CURRENCY_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.rental.impl.ManufacturerImpl" entity-name="Manufacturer" abstract="false" lazy="false" discriminator-value="Manufacturer" table="`MANUFACTURER`">
+ <meta attribute="eclassName" inherit="false">Manufacturer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="MANUFACTURERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ <property name="trusted" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.Boolean">
+ <column not-null="false" unique="false" name="`TRUSTED`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleLibraryResourceAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleLibraryResourceAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1f2bf267e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleLibraryResourceAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleLibraryResourceAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleLibraryResourceAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..30e3ba6d0
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleLibraryResourceAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="library.BookCategoryObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.BookImpl" entity-name="Book" abstract="false" lazy="false" discriminator-value="Book" table="`BOOK`">
+ <meta attribute="eclassName" inherit="false">Book</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id name="title" type="java.lang.String">
+ <column not-null="true" unique="false" name="`TITLE`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="pages" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`PAGES`"/>
+ </property>
+ <property name="category" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserIntegerType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</param>
+ </type>
+ </property>
+ <many-to-one name="author" entity-name="Writer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOK_AUTHOR" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`BOOK_AUTHOR_E_ID`"/>
+ </many-to-one>
+ <property name="test" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TEST`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.LibraryImpl" entity-name="Library" abstract="false" lazy="false" discriminator-value="Library" table="`LIBRARY`">
+ <meta attribute="eclassName" inherit="false">Library</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="writers" fetch="subselect" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="schrijvers">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`TEST_INDEX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="LIBRARY_BOOKS">
+ <column name="`LIBRARY_BOOKS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.library.impl.WriterImpl" entity-name="Writer" abstract="false" lazy="false" discriminator-value="Writer" table="`WRITER`">
+ <meta attribute="eclassName" inherit="false">Writer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/Library</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <list name="books" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`BOOK_AUTHOR_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITER_BOOKS_IDX`"/>
+ <one-to-many entity-name="Book"/>
+ </list>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleRentalAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleRentalAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..c9192e96b
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleRentalAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="rental.RentalBicycleTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalBicycleTypeObject</param>
+ </typedef>
+ <typedef name="rental.RentalCarSizeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalCarSizeObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalUnitImpl" entity-name="RentalUnit" abstract="true" lazy="false" table="`RENTALUNIT`">
+ <meta attribute="eclassName" inherit="false">RentalUnit</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id name="description" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ </class>
+ <joined-subclass name="org.eclipse.emf.teneo.rental.impl.RentalBicycleImpl" entity-name="RentalBicycle" abstract="false" lazy="false" extends="RentalUnit" table="`RENTALBICYCLE`">
+ <meta attribute="eclassName" inherit="false">RentalBicycle</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <key>
+ <column name="`RENTALUNIT_DESCRIPTION`"/>
+ </key>
+ <property name="type" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`TYPE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalBicycleType</param>
+ <param name="eclassifier">RentalBicycleType</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ <many-to-one name="manufacturer" entity-name="Manufacturer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALBICYCLE_MANUFACTURER" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`MANUFACTURER_MANUFACTURER_E_ID`"/>
+ </many-to-one>
+ </joined-subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.CurrencyImpl" entity-name="Currency" abstract="false" lazy="false" table="`CURRENCY`">
+ <meta attribute="eclassName" inherit="false">Currency</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ </class>
+ <joined-subclass name="org.eclipse.emf.teneo.rental.impl.RentalCarImpl" entity-name="RentalCar" abstract="false" lazy="false" extends="RentalUnit" table="`RENTALCAR`">
+ <meta attribute="eclassName" inherit="false">RentalCar</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <key>
+ <column name="`RENTALUNIT_DESCRIPTION`"/>
+ </key>
+ <property name="size" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`SIZE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalCarSize</param>
+ <param name="eclassifier">RentalCarSize</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ </joined-subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalContractImpl" entity-name="RentalContract" abstract="false" lazy="false" table="`RENTALCONTRACT`">
+ <meta attribute="eclassName" inherit="false">RentalContract</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="rentToBusinessPartner" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`RENTTOBUSINESSPARTNER`"/>
+ </property>
+ <property name="startDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="timestamp">
+ <column not-null="true" unique="false" name="`STARTDATE`"/>
+ </property>
+ <property name="endDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`ENDDATE`"/>
+ </property>
+ <property name="cost" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`COST`"/>
+ </property>
+ <list name="rentalUnits" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="RENTALCONTRACT_RENTALUNITS">
+ <column name="`RENTALCONTRACT_RENTALUNITS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RENTALCONTRACT_RENTALUNITS_IDX`"/>
+ <one-to-many entity-name="RentalUnit"/>
+ </list>
+ <many-to-one name="currency" entity-name="Currency" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALCONTRACT_CURRENCY" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`CURRENCY_CURRENCY_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.rental.impl.ManufacturerImpl" entity-name="Manufacturer" abstract="false" lazy="false" table="`MANUFACTURER`">
+ <meta attribute="eclassName" inherit="false">Manufacturer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ <property name="trusted" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.Boolean">
+ <column not-null="false" unique="false" name="`TRUSTED`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleRentalAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleRentalAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..b6199ffdc
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SimpleRentalAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="rental.RentalBicycleTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalBicycleTypeObject</param>
+ </typedef>
+ <typedef name="rental.RentalCarSizeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ <param name="edatatype">RentalCarSizeObject</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalUnitImpl" entity-name="RentalUnit" abstract="true" lazy="false" discriminator-value="RentalUnit" table="`RENTALUNIT`">
+ <meta attribute="eclassName" inherit="false">RentalUnit</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id name="description" type="java.lang.String">
+ <column not-null="true" unique="false" name="`DESCRIPTION`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="RENTALUNITDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ </class>
+ <subclass name="org.eclipse.emf.teneo.rental.impl.RentalBicycleImpl" entity-name="RentalBicycle" abstract="false" lazy="false" extends="RentalUnit" discriminator-value="RentalBicycle">
+ <meta attribute="eclassName" inherit="false">RentalBicycle</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <property name="type" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`TYPE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalBicycleType</param>
+ <param name="eclassifier">RentalBicycleType</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ <many-to-one name="manufacturer" entity-name="Manufacturer" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALBICYCLE_MANUFACTURER" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`MANUFACTURER_MANUFACTURER_E_ID`"/>
+ </many-to-one>
+ </subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.CurrencyImpl" entity-name="Currency" abstract="false" lazy="false" discriminator-value="Currency" table="`CURRENCY`">
+ <meta attribute="eclassName" inherit="false">Currency</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="CURRENCYDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ </class>
+ <subclass name="org.eclipse.emf.teneo.rental.impl.RentalCarImpl" entity-name="RentalCar" abstract="false" lazy="false" extends="RentalUnit" discriminator-value="RentalCar">
+ <meta attribute="eclassName" inherit="false">RentalCar</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <property name="size" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`SIZE`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.rental.RentalCarSize</param>
+ <param name="eclassifier">RentalCarSize</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/rental</param>
+ </type>
+ </property>
+ </subclass>
+ <class name="org.eclipse.emf.teneo.rental.impl.RentalContractImpl" entity-name="RentalContract" abstract="false" lazy="false" discriminator-value="RentalContract" table="`RENTALCONTRACT`">
+ <meta attribute="eclassName" inherit="false">RentalContract</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="RENTALCONTRACTDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="rentToBusinessPartner" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`RENTTOBUSINESSPARTNER`"/>
+ </property>
+ <property name="startDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="timestamp">
+ <column not-null="true" unique="false" name="`STARTDATE`"/>
+ </property>
+ <property name="endDate" lazy="false" insert="true" update="true" not-null="false" unique="false" type="timestamp">
+ <column not-null="false" unique="false" name="`ENDDATE`"/>
+ </property>
+ <property name="cost" lazy="false" insert="true" update="true" not-null="false" unique="false" type="float">
+ <column not-null="false" unique="false" name="`COST`"/>
+ </property>
+ <list name="rentalUnits" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true" foreign-key="RENTALCONTRACT_RENTALUNITS">
+ <column name="`RENTALCONTRACT_RENTALUNITS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`RENTALCONTRACT_RENTALUNITS_IDX`"/>
+ <one-to-many entity-name="RentalUnit"/>
+ </list>
+ <many-to-one name="currency" entity-name="Currency" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="RENTALCONTRACT_CURRENCY" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`CURRENCY_CURRENCY_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.rental.impl.ManufacturerImpl" entity-name="Manufacturer" abstract="false" lazy="false" discriminator-value="Manufacturer" table="`MANUFACTURER`">
+ <meta attribute="eclassName" inherit="false">Manufacturer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/rental</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="MANUFACTURERDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="code" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CODE`"/>
+ </property>
+ <property name="trusted" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.Boolean">
+ <column not-null="false" unique="false" name="`TRUSTED`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SunBooksAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SunBooksAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1e2e86281
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SunBooksAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="sunBooks.BookCategoryTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</param>
+ <param name="edatatype">BookCategoryTypeObject</param>
+ </typedef>
+ <typedef name="sunBooks.BookCategoryTypeObject1" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</param>
+ <param name="edatatype">BookCategoryTypeObject1</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.AuthorsTypeImpl" entity-name="AuthorsType" abstract="false" lazy="false" table="`AUTHORSTYPE`">
+ <meta attribute="eclassName" inherit="false">AuthorsType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="authorName" table="`AUTHORSTYPE_AUTHORNAME`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`AUTHORSTYPE_AUTHORNAME_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`AUTHORSTYPE_AUTHORNAME_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.BooksTypeImpl" entity-name="BooksType" abstract="false" lazy="false" table="`BOOKSTYPE`">
+ <meta attribute="eclassName" inherit="false">BooksType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="book" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="BOOKSTYPE_BOOK">
+ <column name="`BOOKSTYPE_BOOK_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`BOOKSTYPE_BOOK_IDX`"/>
+ <one-to-many entity-name="BookType"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.BookTypeImpl" entity-name="BookType" abstract="false" lazy="false" table="`BOOKTYPE`">
+ <meta attribute="eclassName" inherit="false">BookType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <property name="iSBN" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`ISBN`"/>
+ </property>
+ <property name="price" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PRICE`"/>
+ </property>
+ <many-to-one name="authors" entity-name="AuthorsType" lazy="false" cascade="all" foreign-key="BOOKTYPE_AUTHORS" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`AUTHORSTYPE_AUTHORS_E_ID`"/>
+ </many-to-one>
+ <property name="description" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`DESCRIPTION`"/>
+ </property>
+ <many-to-one name="promotion" entity-name="PromotionType" lazy="false" cascade="all" foreign-key="BOOKTYPE_PROMOTION" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`PROMOTIONTYPE_PROMOTION_E_ID`"/>
+ </many-to-one>
+ <property name="publicationDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="true" unique="false" name="`PUBLICATIONDATE`"/>
+ </property>
+ <property name="bookCategory" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`BOOKCATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.sunBooks.BookCategoryType1</param>
+ <param name="eclassifier">BookCategoryType1</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</param>
+ </type>
+ </property>
+ <property name="itemId" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ITEMID`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.CollectionTypeImpl" entity-name="CollectionType" abstract="false" lazy="false" table="`COLLECTIONTYPE`">
+ <meta attribute="eclassName" inherit="false">CollectionType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <many-to-one name="books" entity-name="BooksType" lazy="false" cascade="all" foreign-key="COLLECTIONTYPE_BOOKS" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`BOOKSTYPE_BOOKS_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.PromotionTypeImpl" entity-name="PromotionType" abstract="false" lazy="false" table="`PROMOTIONTYPE`">
+ <meta attribute="eclassName" inherit="false">PromotionType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="discount" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`DISCOUNT`"/>
+ </property>
+ <property name="none" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NONE`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SunBooksAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SunBooksAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..ed1ef02e8
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/SunBooksAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <typedef name="sunBooks.BookCategoryTypeObject" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</param>
+ <param name="edatatype">BookCategoryTypeObject</param>
+ </typedef>
+ <typedef name="sunBooks.BookCategoryTypeObject1" class="org.eclipse.emf.teneo.hibernate.mapping.DefaultToStringUserType">
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</param>
+ <param name="edatatype">BookCategoryTypeObject1</param>
+ </typedef>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.AuthorsTypeImpl" entity-name="AuthorsType" abstract="false" lazy="false" discriminator-value="AuthorsType" table="`AUTHORSTYPE`">
+ <meta attribute="eclassName" inherit="false">AuthorsType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="AUTHORSTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="authorName" table="`AUTHORSTYPE_AUTHORNAME`" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`AUTHORSTYPE_AUTHORNAME_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`AUTHORSTYPE_AUTHORNAME_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.BooksTypeImpl" entity-name="BooksType" abstract="false" lazy="false" discriminator-value="BooksType" table="`BOOKSTYPE`">
+ <meta attribute="eclassName" inherit="false">BooksType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKSTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <list name="book" lazy="true" cascade="all,delete-orphan">
+ <key update="true" foreign-key="BOOKSTYPE_BOOK">
+ <column name="`BOOKSTYPE_BOOK_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`BOOKSTYPE_BOOK_IDX`"/>
+ <one-to-many entity-name="BookType"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.BookTypeImpl" entity-name="BookType" abstract="false" lazy="false" discriminator-value="BookType" table="`BOOKTYPE`">
+ <meta attribute="eclassName" inherit="false">BookType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`NAME`"/>
+ </property>
+ <property name="iSBN" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`ISBN`"/>
+ </property>
+ <property name="price" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`PRICE`"/>
+ </property>
+ <many-to-one name="authors" entity-name="AuthorsType" lazy="false" cascade="all" foreign-key="BOOKTYPE_AUTHORS" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`AUTHORSTYPE_AUTHORS_E_ID`"/>
+ </many-to-one>
+ <property name="description" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`DESCRIPTION`"/>
+ </property>
+ <many-to-one name="promotion" entity-name="PromotionType" lazy="false" cascade="all" foreign-key="BOOKTYPE_PROMOTION" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`PROMOTIONTYPE_PROMOTION_E_ID`"/>
+ </many-to-one>
+ <property name="publicationDate" lazy="false" insert="true" update="true" not-null="true" unique="false" type="org.eclipse.emf.teneo.hibernate.mapping.XSDDate">
+ <column not-null="true" unique="false" name="`PUBLICATIONDATE`"/>
+ </property>
+ <property name="bookCategory" lazy="false" not-null="false" insert="true" update="true" unique="false">
+ <column not-null="false" unique="false" name="`BOOKCATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.samples.emf.sample.sunBooks.BookCategoryType1</param>
+ <param name="eclassifier">BookCategoryType1</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</param>
+ </type>
+ </property>
+ <property name="itemId" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ITEMID`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.CollectionTypeImpl" entity-name="CollectionType" abstract="false" lazy="false" discriminator-value="CollectionType" table="`COLLECTIONTYPE`">
+ <meta attribute="eclassName" inherit="false">CollectionType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="COLLECTIONTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <many-to-one name="books" entity-name="BooksType" lazy="false" cascade="all" foreign-key="COLLECTIONTYPE_BOOKS" insert="true" update="true" not-null="true" unique="true">
+ <column not-null="true" unique="false" name="`BOOKSTYPE_BOOKS_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.sunBooks.impl.PromotionTypeImpl" entity-name="PromotionType" abstract="false" lazy="false" discriminator-value="PromotionType" table="`PROMOTIONTYPE`">
+ <meta attribute="eclassName" inherit="false">PromotionType</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/emf/sample/sun_books</meta>
+ <id type="long" name="e_id" column="e_id" access="org.eclipse.emf.teneo.hibernate.mapping.identifier.IdentifierPropertyHandler">
+ <meta attribute="syntheticId" inherit="false">true</meta>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="PROMOTIONTYPEDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="discount" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`DISCOUNT`"/>
+ </property>
+ <property name="none" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NONE`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/WorkFlowAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/WorkFlowAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..193620975
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/WorkFlowAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,219 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.WorkflowElementImpl" entity-name="WorkflowElement" abstract="true" lazy="false" table="`WORKFLOWELEMENT`">
+ <meta attribute="eclassName" inherit="false">WorkflowElement</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <id name="id" type="java.lang.String">
+ <column not-null="true" unique="false" name="`ID`"/>
+ </id>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COMMENT`"/>
+ </property>
+ <property name="x" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`X`"/>
+ </property>
+ <property name="y" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`Y`"/>
+ </property>
+ <property name="width" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`WIDTH`"/>
+ </property>
+ <property name="height" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`HEIGHT`"/>
+ </property>
+ </class>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.WorkflowImpl" entity-name="Workflow" abstract="false" lazy="false" extends="WorkflowElement" table="`WORKFLOW`">
+ <meta attribute="eclassName" inherit="false">Workflow</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`WORKFLOWELEMENT_ID`"/>
+ </key>
+ <list name="nodes" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`WORKFLOWNODE_WORKFLOW_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOW_NODES_IDX`"/>
+ <one-to-many entity-name="WorkflowNode"/>
+ </list>
+ <list name="edges" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`EDGE_WORKFLOW_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOW_EDGES_IDX`"/>
+ <one-to-many entity-name="Edge"/>
+ </list>
+ <list name="comments" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`COMMENT_WORKFLOW_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOW_COMMENTS_IDX`"/>
+ <one-to-many entity-name="Comment"/>
+ </list>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.WorkflowNodeImpl" entity-name="WorkflowNode" abstract="true" lazy="false" extends="WorkflowElement" table="`WORKFLOWNODE`">
+ <meta attribute="eclassName" inherit="false">WorkflowNode</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`WORKFLOWELEMENT_ID`"/>
+ </key>
+ <many-to-one name="workflow" entity-name="Workflow" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WORKFLOWNODE_WORKFLOW" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`WORKFLOWNODE_WORKFLOW_ID`"/>
+ </many-to-one>
+ <list name="outputs" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`OUTPUTPORT_NODE_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOWNODE_OUTPUTS_IDX`"/>
+ <one-to-many entity-name="OutputPort"/>
+ </list>
+ <list name="inputs" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`INPUTPORT_NODE_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOWNODE_INPUTS_IDX`"/>
+ <one-to-many entity-name="InputPort"/>
+ </list>
+ <property name="isStart" lazy="false" insert="true" update="true" not-null="true" unique="false" type="boolean">
+ <column not-null="true" unique="false" name="`ISSTART`"/>
+ </property>
+ <property name="isFinish" lazy="false" insert="true" update="true" not-null="true" unique="false" type="boolean">
+ <column not-null="true" unique="false" name="`ISFINISH`"/>
+ </property>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.EdgeImpl" entity-name="Edge" abstract="false" lazy="false" extends="WorkflowElement" table="`EDGE`">
+ <meta attribute="eclassName" inherit="false">Edge</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`WORKFLOWELEMENT_ID`"/>
+ </key>
+ <many-to-one name="workflow" entity-name="Workflow" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="EDGE_WORKFLOW" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`EDGE_WORKFLOW_ID`"/>
+ </many-to-one>
+ <many-to-one name="target" entity-name="InputPort" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="EDGE_TARGET" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`EDGE_TARGET_ID`"/>
+ </many-to-one>
+ <many-to-one name="source" entity-name="OutputPort" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="EDGE_SOURCE" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`EDGE_SOURCE_ID`"/>
+ </many-to-one>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.PortImpl" entity-name="Port" abstract="true" lazy="false" extends="WorkflowElement" table="`PORT`">
+ <meta attribute="eclassName" inherit="false">Port</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`WORKFLOWELEMENT_ID`"/>
+ </key>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.InputPortImpl" entity-name="InputPort" abstract="false" lazy="false" extends="Port" table="`INPUTPORT`">
+ <meta attribute="eclassName" inherit="false">InputPort</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`PORT_ID`"/>
+ </key>
+ <many-to-one name="node" entity-name="WorkflowNode" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="INPUTPORT_NODE" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`INPUTPORT_NODE_ID`"/>
+ </many-to-one>
+ <list name="edges" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`EDGE_TARGET_ID`" unique="false"/>
+ </key>
+ <list-index column="`INPUTPORT_EDGES_IDX`"/>
+ <one-to-many entity-name="Edge"/>
+ </list>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.OutputPortImpl" entity-name="OutputPort" abstract="false" lazy="false" extends="Port" table="`OUTPUTPORT`">
+ <meta attribute="eclassName" inherit="false">OutputPort</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`PORT_ID`"/>
+ </key>
+ <many-to-one name="node" entity-name="WorkflowNode" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="OUTPUTPORT_NODE" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`OUTPUTPORT_NODE_ID`"/>
+ </many-to-one>
+ <list name="edges" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`EDGE_SOURCE_ID`" unique="false"/>
+ </key>
+ <list-index column="`OUTPUTPORT_EDGES_IDX`"/>
+ <one-to-many entity-name="Edge"/>
+ </list>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.FaultImpl" entity-name="Fault" abstract="false" lazy="false" extends="OutputPort" table="`FAULT`">
+ <meta attribute="eclassName" inherit="false">Fault</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`OUTPUTPORT_ID`"/>
+ </key>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.CompoundTaskImpl" entity-name="CompoundTask" abstract="false" lazy="false" extends="WorkflowNode" table="`COMPOUNDTASK`">
+ <meta attribute="eclassName" inherit="false">CompoundTask</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`WORKFLOWNODE_ID`"/>
+ </key>
+ <many-to-one name="subworkflow" entity-name="Workflow" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="COMPOUNDTASK_SUBWORKFLOW" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`WORKFLOW_SUBWORKFLOW_ID`"/>
+ </many-to-one>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.TransformationTaskImpl" entity-name="TransformationTask" abstract="false" lazy="false" extends="WorkflowNode" table="`TRANSFORMATIONTASK`">
+ <meta attribute="eclassName" inherit="false">TransformationTask</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`WORKFLOWNODE_ID`"/>
+ </key>
+ <property name="transformExpression" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TRANSFORMEXPRESSION`"/>
+ </property>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.ConditionalTaskImpl" entity-name="ConditionalTask" abstract="false" lazy="false" extends="WorkflowNode" table="`CONDITIONALTASK`">
+ <meta attribute="eclassName" inherit="false">ConditionalTask</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`WORKFLOWNODE_ID`"/>
+ </key>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.LoopTaskImpl" entity-name="LoopTask" abstract="false" lazy="false" extends="CompoundTask" table="`LOOPTASK`">
+ <meta attribute="eclassName" inherit="false">LoopTask</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`COMPOUNDTASK_ID`"/>
+ </key>
+ <property name="whileCondition" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`WHILECONDITION`"/>
+ </property>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.ConditionalOutputPortImpl" entity-name="ConditionalOutputPort" abstract="false" lazy="false" extends="OutputPort" table="`CONDITIONALOUTPUTPORT`">
+ <meta attribute="eclassName" inherit="false">ConditionalOutputPort</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`OUTPUTPORT_ID`"/>
+ </key>
+ <property name="condition" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
+ <column not-null="true" unique="false" name="`CONDITION`"/>
+ </property>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.CommentImpl" entity-name="Comment" abstract="false" lazy="false" extends="WorkflowElement" table="`COMMENT`">
+ <meta attribute="eclassName" inherit="false">Comment</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`WORKFLOWELEMENT_ID`"/>
+ </key>
+ <many-to-one name="workflow" entity-name="Workflow" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="COMMENT_WORKFLOW" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`COMMENT_WORKFLOW_ID`"/>
+ </many-to-one>
+ </joined-subclass>
+ <joined-subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.TaskImpl" entity-name="Task" abstract="false" lazy="false" extends="WorkflowNode" table="`TASK`">
+ <meta attribute="eclassName" inherit="false">Task</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <key>
+ <column name="`WORKFLOWNODE_ID`"/>
+ </key>
+ </joined-subclass>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/WorkFlowAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/WorkFlowAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..9238116ba
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.test.emf.sample/WorkFlowAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping auto-import="false">
+ <class name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.WorkflowElementImpl" entity-name="WorkflowElement" abstract="true" lazy="false" discriminator-value="WorkflowElement" table="`WORKFLOWELEMENT`">
+ <meta attribute="eclassName" inherit="false">WorkflowElement</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <id name="id" type="java.lang.String">
+ <column not-null="true" unique="false" name="`ID`"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WORKFLOWELEMENTDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="e_version" column="e_version" access="org.eclipse.emf.teneo.hibernate.mapping.property.VersionPropertyHandler">
+ <meta attribute="syntheticVersion" inherit="false">true</meta>
+ </version>
+ <property name="name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`NAME`"/>
+ </property>
+ <property name="comment" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`COMMENT`"/>
+ </property>
+ <property name="x" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`X`"/>
+ </property>
+ <property name="y" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`Y`"/>
+ </property>
+ <property name="width" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`WIDTH`"/>
+ </property>
+ <property name="height" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`HEIGHT`"/>
+ </property>
+ </class>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.WorkflowImpl" entity-name="Workflow" abstract="false" lazy="false" extends="WorkflowElement" discriminator-value="Workflow">
+ <meta attribute="eclassName" inherit="false">Workflow</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <list name="nodes" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`WORKFLOWNODE_WORKFLOW_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOW_NODES_IDX`"/>
+ <one-to-many entity-name="WorkflowNode"/>
+ </list>
+ <list name="edges" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`EDGE_WORKFLOW_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOW_EDGES_IDX`"/>
+ <one-to-many entity-name="Edge"/>
+ </list>
+ <list name="comments" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`COMMENT_WORKFLOW_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOW_COMMENTS_IDX`"/>
+ <one-to-many entity-name="Comment"/>
+ </list>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.WorkflowNodeImpl" entity-name="WorkflowNode" abstract="true" lazy="false" extends="WorkflowElement" discriminator-value="WorkflowNode">
+ <meta attribute="eclassName" inherit="false">WorkflowNode</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <many-to-one name="workflow" entity-name="Workflow" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WORKFLOWNODE_WORKFLOW" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`WORKFLOWNODE_WORKFLOW_ID`"/>
+ </many-to-one>
+ <list name="outputs" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`OUTPUTPORT_NODE_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOWNODE_OUTPUTS_IDX`"/>
+ <one-to-many entity-name="OutputPort"/>
+ </list>
+ <list name="inputs" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`INPUTPORT_NODE_ID`" unique="false"/>
+ </key>
+ <list-index column="`WORKFLOWNODE_INPUTS_IDX`"/>
+ <one-to-many entity-name="InputPort"/>
+ </list>
+ <property name="isStart" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`ISSTART`"/>
+ </property>
+ <property name="isFinish" lazy="false" insert="true" update="true" not-null="false" unique="false" type="boolean">
+ <column not-null="false" unique="false" name="`ISFINISH`"/>
+ </property>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.EdgeImpl" entity-name="Edge" abstract="false" lazy="false" extends="WorkflowElement" discriminator-value="Edge">
+ <meta attribute="eclassName" inherit="false">Edge</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <many-to-one name="workflow" entity-name="Workflow" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="EDGE_WORKFLOW" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`EDGE_WORKFLOW_ID`"/>
+ </many-to-one>
+ <many-to-one name="target" entity-name="InputPort" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="EDGE_TARGET" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`EDGE_TARGET_ID`"/>
+ </many-to-one>
+ <many-to-one name="source" entity-name="OutputPort" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="EDGE_SOURCE" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`EDGE_SOURCE_ID`"/>
+ </many-to-one>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.PortImpl" entity-name="Port" abstract="true" lazy="false" extends="WorkflowElement" discriminator-value="Port">
+ <meta attribute="eclassName" inherit="false">Port</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.InputPortImpl" entity-name="InputPort" abstract="false" lazy="false" extends="Port" discriminator-value="InputPort">
+ <meta attribute="eclassName" inherit="false">InputPort</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <many-to-one name="node" entity-name="WorkflowNode" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="INPUTPORT_NODE" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`INPUTPORT_NODE_ID`"/>
+ </many-to-one>
+ <list name="edges" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`EDGE_TARGET_ID`" unique="false"/>
+ </key>
+ <list-index column="`INPUTPORT_EDGES_IDX`"/>
+ <one-to-many entity-name="Edge"/>
+ </list>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.OutputPortImpl" entity-name="OutputPort" abstract="false" lazy="false" extends="Port" discriminator-value="OutputPort">
+ <meta attribute="eclassName" inherit="false">OutputPort</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <many-to-one name="node" entity-name="WorkflowNode" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="OUTPUTPORT_NODE" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`OUTPUTPORT_NODE_ID`"/>
+ </many-to-one>
+ <list name="edges" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key update="true">
+ <column name="`EDGE_SOURCE_ID`" unique="false"/>
+ </key>
+ <list-index column="`OUTPUTPORT_EDGES_IDX`"/>
+ <one-to-many entity-name="Edge"/>
+ </list>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.FaultImpl" entity-name="Fault" abstract="false" lazy="false" extends="OutputPort" discriminator-value="Fault">
+ <meta attribute="eclassName" inherit="false">Fault</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.CompoundTaskImpl" entity-name="CompoundTask" abstract="false" lazy="false" extends="WorkflowNode" discriminator-value="CompoundTask">
+ <meta attribute="eclassName" inherit="false">CompoundTask</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <many-to-one name="subworkflow" entity-name="Workflow" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="COMPOUNDTASK_SUBWORKFLOW" insert="true" update="true" not-null="false">
+ <column not-null="false" unique="false" name="`WORKFLOW_SUBWORKFLOW_ID`"/>
+ </many-to-one>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.TransformationTaskImpl" entity-name="TransformationTask" abstract="false" lazy="false" extends="WorkflowNode" discriminator-value="TransformationTask">
+ <meta attribute="eclassName" inherit="false">TransformationTask</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <property name="transformExpression" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TRANSFORMEXPRESSION`"/>
+ </property>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.ConditionalTaskImpl" entity-name="ConditionalTask" abstract="false" lazy="false" extends="WorkflowNode" discriminator-value="ConditionalTask">
+ <meta attribute="eclassName" inherit="false">ConditionalTask</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.LoopTaskImpl" entity-name="LoopTask" abstract="false" lazy="false" extends="CompoundTask" discriminator-value="LoopTask">
+ <meta attribute="eclassName" inherit="false">LoopTask</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <property name="whileCondition" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`WHILECONDITION`"/>
+ </property>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.ConditionalOutputPortImpl" entity-name="ConditionalOutputPort" abstract="false" lazy="false" extends="OutputPort" discriminator-value="ConditionalOutputPort">
+ <meta attribute="eclassName" inherit="false">ConditionalOutputPort</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <property name="condition" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`CONDITION`"/>
+ </property>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.CommentImpl" entity-name="Comment" abstract="false" lazy="false" extends="WorkflowElement" discriminator-value="Comment">
+ <meta attribute="eclassName" inherit="false">Comment</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ <many-to-one name="workflow" entity-name="Workflow" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="COMMENT_WORKFLOW" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`COMMENT_WORKFLOW_ID`"/>
+ </many-to-one>
+ </subclass>
+ <subclass name="org.eclipse.emf.teneo.samples.emf.sample.workflow.impl.TaskImpl" entity-name="Task" abstract="false" lazy="false" extends="WorkflowNode" discriminator-value="Task">
+ <meta attribute="eclassName" inherit="false">Task</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/store/test/emf/workflow</meta>
+ </subclass>
+</hibernate-mapping> \ No newline at end of file

Back to the top