Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Taal2017-02-22 16:56:42 -0500
committerMartin Taal2017-02-22 16:56:42 -0500
commite7a666d5f5a60e1074e31756c6d5aacedc54c838 (patch)
tree763602ae0cb8dc8cabeb63ce7c005adcf42d0272
parent7792468ed738da6f741392d6236f973fa464e084 (diff)
downloadorg.eclipse.emf.teneo-2.1.0.tar.gz
org.eclipse.emf.teneo-2.1.0.tar.xz
org.eclipse.emf.teneo-2.1.0.zip
Tests related to issue 512511 - refresh on session wrapper leads to disconnected persistent lists2.1.0
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java2
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java6
-rwxr-xr-xhibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java2
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml306
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml327
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml306
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml327
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml501
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml540
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_e_o_hibernate.hbm.xml306
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_h_o_hibernate.hbm.xml327
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_e_o_hibernate.hbm.xml426
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_h_o_hibernate.hbm.xml459
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_e_o_hibernate.hbm.xml306
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_h_o_hibernate.hbm.xml327
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml501
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml540
-rwxr-xr-xtests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/AllTests.java11
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryNoResourceTestAction.java115
-rwxr-xr-xtests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryWithResourceTestAction.java140
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectNoResourceTestAction.java192
-rw-r--r--tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectWithResourceTestAction.java207
-rwxr-xr-xtests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/stores/HibernateTestStore.java4
-rwxr-xr-xtests/org.eclipse.emf.teneo.samples/META-INF/MANIFEST.MF8
-rwxr-xr-xtests/org.eclipse.emf.teneo.samples/plugin.xml14
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer.java71
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer2.java73
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElement.java51
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElementBidir.java80
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer.java71
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer2.java71
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraFactory.java87
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraPackage.java682
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainer2Impl.java236
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainerImpl.java222
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementBidirImpl.java264
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementImpl.java163
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainer2Impl.java205
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainerImpl.java205
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraFactoryImpl.java150
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraPackageImpl.java527
-rwxr-xr-xtests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.ecore114
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.genmodel34
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraAdapterFactory.java210
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceFactoryImpl.java52
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceImpl.java28
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraSwitch.java215
-rw-r--r--tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraXMLProcessor.java50
48 files changed, 10048 insertions, 13 deletions
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java
index 44703ede0..7f6b90277 100755
--- a/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java
+++ b/hibernate/org.eclipse.emf.teneo.hibernate.mapper/src/org/eclipse/emf/teneo/hibernate/mapper/AbstractAssociationMapper.java
@@ -645,7 +645,7 @@ public abstract class AbstractAssociationMapper extends AbstractMapper {
collectionElement.addAttribute("fetch", hbFeature.getHbFetch().getValue().getName()
.toLowerCase());
}
-
+
if (hasOrderBy) {
final PAnnotatedEClass aClass = paReference.getAReferenceType();
final String name;
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java
index f39665d8d..edf6f9aa5 100755
--- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java
+++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbEntityManagerWrapper.java
@@ -24,6 +24,7 @@ import java.util.Map;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.FlushModeType;
+import javax.persistence.LockModeType;
import javax.persistence.Query;
import org.eclipse.emf.teneo.annotations.pannotation.InheritanceType;
@@ -221,14 +222,15 @@ public class HbEntityManagerWrapper implements SessionWrapper {
/** Refresh the object */
public void refresh(Object obj) {
- getEntityManager().refresh(obj);
+ // pass this special lock type to prevent hibernate from using a
+ // cascade entity loader, gives
+ getEntityManager().refresh(obj, LockModeType.PESSIMISTIC_READ);
}
/** Check if a certain class is mapped using a certain inheritance strategy */
public boolean isInheritanceStrategy(Class<?> cls, InheritanceType strategy) {
final String name = cls.getName();
final String realName = name.substring(name.lastIndexOf('.') + 1, name.length() - 4);
- @SuppressWarnings("deprecation")
final PersistentClass cmd = hbEntityDataStore.getConfiguration().getClassMapping(realName);
if (strategy.equals(InheritanceType.SINGLE_TABLE)) {
return cmd instanceof SingleTableSubclass;
diff --git a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java
index c6febf247..9c5c2f403 100755
--- a/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java
+++ b/hibernate/org.eclipse.emf.teneo.hibernate/src/org/eclipse/emf/teneo/hibernate/HbSessionWrapper.java
@@ -183,7 +183,7 @@ public class HbSessionWrapper implements SessionWrapper {
/** Refresh the object */
public void refresh(Object obj) {
- getSessionInternal().refresh(obj, LockOptions.NONE);
+ getSessionInternal().refresh(obj, LockOptions.UPGRADE);
}
/** Check if a certain class is mapped using a certain inheritance strategy */
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..a57293d65
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,306 @@
+<?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.example.eclipse.org/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.example.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.example.eclipse.org/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="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="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/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>
+ </class>
+ <class name="org.eclipse.example.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.example.eclipse.org/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" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_WRITERS_KEY" update="true">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_WRITERS_IDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_BOOKS_KEY" update="true">
+ <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.example.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.example.eclipse.org/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>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" table="`BOOKAUDITING`">
+ <meta attribute="eclassName" inherit="false">BookAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </property>
+ <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="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.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/Library</param>
+ </type>
+ </property>
+ <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`AUTHOR`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" table="`LIBRARYAUDITING`">
+ <meta attribute="eclassName" inherit="false">LibraryAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" table="`WRITERAUDITING`">
+ <meta attribute="eclassName" inherit="false">WriterAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true">
+ <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITERAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..b10c1ecae
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,327 @@
+<?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.example.eclipse.org/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.example.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.example.eclipse.org/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="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="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/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>
+ </class>
+ <class name="org.eclipse.example.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.example.eclipse.org/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" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_WRITERS_KEY" update="true">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_WRITERS_IDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_BOOKS_KEY" update="true">
+ <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.example.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.example.eclipse.org/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>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</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="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" discriminator-value="BookAuditing" table="`BOOKAUDITING`">
+ <meta attribute="eclassName" inherit="false">BookAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </property>
+ <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="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.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/Library</param>
+ </type>
+ </property>
+ <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`AUTHOR`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" discriminator-value="LibraryAuditing" table="`LIBRARYAUDITING`">
+ <meta attribute="eclassName" inherit="false">LibraryAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" discriminator-value="WriterAuditing" table="`WRITERAUDITING`">
+ <meta attribute="eclassName" inherit="false">WriterAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true">
+ <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITERAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..a57293d65
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,306 @@
+<?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.example.eclipse.org/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.example.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.example.eclipse.org/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="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="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/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>
+ </class>
+ <class name="org.eclipse.example.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.example.eclipse.org/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" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_WRITERS_KEY" update="true">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_WRITERS_IDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_BOOKS_KEY" update="true">
+ <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.example.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.example.eclipse.org/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>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" table="`BOOKAUDITING`">
+ <meta attribute="eclassName" inherit="false">BookAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </property>
+ <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="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.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/Library</param>
+ </type>
+ </property>
+ <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`AUTHOR`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" table="`LIBRARYAUDITING`">
+ <meta attribute="eclassName" inherit="false">LibraryAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" table="`WRITERAUDITING`">
+ <meta attribute="eclassName" inherit="false">WriterAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true">
+ <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITERAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..b10c1ecae
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectLibraryWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,327 @@
+<?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.example.eclipse.org/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.example.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.example.eclipse.org/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="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="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/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>
+ </class>
+ <class name="org.eclipse.example.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.example.eclipse.org/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" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_WRITERS_KEY" update="true">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_WRITERS_IDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_BOOKS_KEY" update="true">
+ <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.example.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.example.eclipse.org/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>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</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="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" discriminator-value="BookAuditing" table="`BOOKAUDITING`">
+ <meta attribute="eclassName" inherit="false">BookAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </property>
+ <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="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.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/Library</param>
+ </type>
+ </property>
+ <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`AUTHOR`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" discriminator-value="LibraryAuditing" table="`LIBRARYAUDITING`">
+ <meta attribute="eclassName" inherit="false">LibraryAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" discriminator-value="WriterAuditing" table="`WRITERAUDITING`">
+ <meta attribute="eclassName" inherit="false">WriterAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true">
+ <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITERAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..d4a48825f
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,501 @@
+<?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.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" table="`ITEMCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="elements" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="ITEMCONTAINER_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINER_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" table="`ITEMELEMENT`">
+ <meta attribute="eclassName" inherit="false">ItemElement</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" table="`ITEMNONCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" table="`ITEMNONCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER2_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" table="`ITEMCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="elements" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`ITEMELEMENTBIDIR_ITEM_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElementBidir"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl" entity-name="ItemElementBidir" abstract="false" lazy="false" table="`ITEMELEMENTBIDIR`">
+ <meta attribute="eclassName" inherit="false">ItemElementBidir</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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>
+ <many-to-one name="item" entity-name="ItemContainer2" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIR_ITEM" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`ITEMELEMENTBIDIR_ITEM_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" table="`ITEMCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINERAUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINERAUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" table="`ITEMELEMENTAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" table="`ITEMNONCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMNONCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" table="`ITEMNONCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMNONCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" table="`ITEMCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2AUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementBidirAuditing" abstract="false" lazy="false" table="`ITEMELEMENTBIDIRAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementBidirAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIRAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="item" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ITEM`"/>
+ </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.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..a307d3c69
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectNoResourceTestAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,540 @@
+<?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.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" discriminator-value="ItemContainer" table="`ITEMCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMCONTAINERDTYPE" 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="elements" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="ITEMCONTAINER_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINER_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" discriminator-value="ItemElement" table="`ITEMELEMENT`">
+ <meta attribute="eclassName" inherit="false">ItemElement</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMELEMENTDTYPE" 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="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" discriminator-value="ItemNonContainer" table="`ITEMNONCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMNONCONTAINERDTYPE" 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="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" discriminator-value="ItemNonContainer2" table="`ITEMNONCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMNONCONTAINER2DTYPE" 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="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER2_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" discriminator-value="ItemContainer2" table="`ITEMCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMCONTAINER2DTYPE" 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="elements" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`ITEMELEMENTBIDIR_ITEM_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElementBidir"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl" entity-name="ItemElementBidir" abstract="false" lazy="false" discriminator-value="ItemElementBidir" table="`ITEMELEMENTBIDIR`">
+ <meta attribute="eclassName" inherit="false">ItemElementBidir</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMELEMENTBIDIRDTYPE" 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>
+ <many-to-one name="item" entity-name="ItemContainer2" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIR_ITEM" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`ITEMELEMENTBIDIR_ITEM_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</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="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemContainerAuditing" table="`ITEMCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMCONTAINERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINERAUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINERAUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" discriminator-value="ItemElementAuditing" table="`ITEMELEMENTAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMELEMENTAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemNonContainerAuditing" table="`ITEMNONCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMNONCONTAINERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMNONCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemNonContainer2Auditing" table="`ITEMNONCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMNONCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMNONCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemContainer2Auditing" table="`ITEMCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2AUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementBidirAuditing" abstract="false" lazy="false" discriminator-value="ItemElementBidirAuditing" table="`ITEMELEMENTBIDIRAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementBidirAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMELEMENTBIDIRAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIRAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="item" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ITEM`"/>
+ </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.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..a57293d65
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,306 @@
+<?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.example.eclipse.org/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.example.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.example.eclipse.org/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="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="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/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>
+ </class>
+ <class name="org.eclipse.example.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.example.eclipse.org/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" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_WRITERS_KEY" update="true">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_WRITERS_IDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_BOOKS_KEY" update="true">
+ <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.example.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.example.eclipse.org/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>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" table="`BOOKAUDITING`">
+ <meta attribute="eclassName" inherit="false">BookAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </property>
+ <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="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.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/Library</param>
+ </type>
+ </property>
+ <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`AUTHOR`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" table="`LIBRARYAUDITING`">
+ <meta attribute="eclassName" inherit="false">LibraryAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" table="`WRITERAUDITING`">
+ <meta attribute="eclassName" inherit="false">WriterAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true">
+ <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITERAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..b10c1ecae
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction2_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,327 @@
+<?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.example.eclipse.org/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.example.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.example.eclipse.org/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="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="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/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>
+ </class>
+ <class name="org.eclipse.example.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.example.eclipse.org/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" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_WRITERS_KEY" update="true">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_WRITERS_IDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_BOOKS_KEY" update="true">
+ <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.example.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.example.eclipse.org/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>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</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="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" discriminator-value="BookAuditing" table="`BOOKAUDITING`">
+ <meta attribute="eclassName" inherit="false">BookAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </property>
+ <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="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.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/Library</param>
+ </type>
+ </property>
+ <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`AUTHOR`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" discriminator-value="LibraryAuditing" table="`LIBRARYAUDITING`">
+ <meta attribute="eclassName" inherit="false">LibraryAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" discriminator-value="WriterAuditing" table="`WRITERAUDITING`">
+ <meta attribute="eclassName" inherit="false">WriterAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true">
+ <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITERAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..1ac55120c
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,426 @@
+<?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.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" table="`ITEMCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="element" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="ITEMCONTAINER_ELEMENT_KEY" update="true">
+ <column name="`ITEMCONTAINER_ELEMENT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER_ELEMENT_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" table="`ITEMELEMENT`">
+ <meta attribute="eclassName" inherit="false">ItemElement</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" table="`ITEMNONCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="element" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER_ELEMENT_KEY" update="true">
+ <column name="`ITEMNONCONTAINER_ELEMENT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER_ELEMENT_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" table="`ITEMNONCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="element" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER2_ELEMENT_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2_ELEMENT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2_ELEMENT_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" table="`ITEMCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="element" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="ITEMCONTAINER2_ELEMENT_KEY" update="true">
+ <column name="`ITEMCONTAINER2_ELEMENT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2_ELEMENT_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" table="`ITEMCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="element" table="`ITEMCONTAINERAUDITING_ELEMENTAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINERAUDITING_ELEMENT_KEY" update="true">
+ <column name="`ITEMCONTAINERAUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINERAUDITING_ELEMENT_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" table="`ITEMELEMENTAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" table="`ITEMNONCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="element" table="`ITEMNONCONTAINERAUDITING_ELEMENTAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENT_KEY" update="true">
+ <column name="`ITEMNONCONTAINERAUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENT_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" table="`ITEMNONCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="element" table="`ITEMNONCONTAINER2AUDITING_ELEMENTAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENT_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2AUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENT_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" table="`ITEMCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="element" table="`ITEMCONTAINER2AUDITING_ELEMENTAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENT_KEY" update="true">
+ <column name="`ITEMCONTAINER2AUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2AUDITING_ELEMENT_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..2aea083c5
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction3_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,459 @@
+<?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.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" discriminator-value="ItemContainer" table="`ITEMCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMCONTAINERDTYPE" 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="element" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="ITEMCONTAINER_ELEMENT_KEY" update="true">
+ <column name="`ITEMCONTAINER_ELEMENT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER_ELEMENT_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" discriminator-value="ItemElement" table="`ITEMELEMENT`">
+ <meta attribute="eclassName" inherit="false">ItemElement</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMELEMENTDTYPE" 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="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" discriminator-value="ItemNonContainer" table="`ITEMNONCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMNONCONTAINERDTYPE" 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="element" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER_ELEMENT_KEY" update="true">
+ <column name="`ITEMNONCONTAINER_ELEMENT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER_ELEMENT_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" discriminator-value="ItemNonContainer2" table="`ITEMNONCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMNONCONTAINER2DTYPE" 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="element" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER2_ELEMENT_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2_ELEMENT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2_ELEMENT_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" discriminator-value="ItemContainer2" table="`ITEMCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMCONTAINER2DTYPE" 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="element" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="ITEMCONTAINER2_ELEMENT_KEY" update="true">
+ <column name="`ITEMCONTAINER2_ELEMENT_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2_ELEMENT_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</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="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemContainerAuditing" table="`ITEMCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMCONTAINERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="element" table="`ITEMCONTAINERAUDITING_ELEMENTAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINERAUDITING_ELEMENT_KEY" update="true">
+ <column name="`ITEMCONTAINERAUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINERAUDITING_ELEMENT_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" discriminator-value="ItemElementAuditing" table="`ITEMELEMENTAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMELEMENTAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemNonContainerAuditing" table="`ITEMNONCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMNONCONTAINERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="element" table="`ITEMNONCONTAINERAUDITING_ELEMENTAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENT_KEY" update="true">
+ <column name="`ITEMNONCONTAINERAUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENT_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemNonContainer2Auditing" table="`ITEMNONCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMNONCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="element" table="`ITEMNONCONTAINER2AUDITING_ELEMENTAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENT_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2AUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENT_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemContainer2Auditing" table="`ITEMCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="element" table="`ITEMCONTAINER2AUDITING_ELEMENTAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENT_KEY" update="true">
+ <column name="`ITEMCONTAINER2AUDITING_ELEMENT_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2AUDITING_ELEMENT_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..a57293d65
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,306 @@
+<?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.example.eclipse.org/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.example.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.example.eclipse.org/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="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="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/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>
+ </class>
+ <class name="org.eclipse.example.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.example.eclipse.org/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" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_WRITERS_KEY" update="true">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_WRITERS_IDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_BOOKS_KEY" update="true">
+ <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.example.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.example.eclipse.org/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>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" table="`BOOKAUDITING`">
+ <meta attribute="eclassName" inherit="false">BookAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </property>
+ <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="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.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/Library</param>
+ </type>
+ </property>
+ <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`AUTHOR`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" table="`LIBRARYAUDITING`">
+ <meta attribute="eclassName" inherit="false">LibraryAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" table="`WRITERAUDITING`">
+ <meta attribute="eclassName" inherit="false">WriterAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true">
+ <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITERAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..b10c1ecae
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectTestAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,327 @@
+<?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.example.eclipse.org/Library</param>
+ <param name="edatatype">BookCategoryObject</param>
+ </typedef>
+ <class name="org.eclipse.example.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.example.eclipse.org/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="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="`CATEGORY`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/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>
+ </class>
+ <class name="org.eclipse.example.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.example.eclipse.org/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" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_WRITERS_KEY" update="true">
+ <column name="`LIBRARY_WRITERS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARY_WRITERS_IDX`"/>
+ <one-to-many entity-name="Writer"/>
+ </list>
+ <list name="books" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="LIBRARY_BOOKS_KEY" update="true">
+ <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.example.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.example.eclipse.org/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>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</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="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="BookAuditing" abstract="false" lazy="false" discriminator-value="BookAuditing" table="`BOOKAUDITING`">
+ <meta attribute="eclassName" inherit="false">BookAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="BOOKAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="BOOKAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </property>
+ <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="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.ENumUserType">
+ <param name="enumClass">org.eclipse.example.library.BookCategory</param>
+ <param name="eclassifier">BookCategory</param>
+ <param name="epackage">http://www.example.eclipse.org/Library</param>
+ </type>
+ </property>
+ <property name="author" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`AUTHOR`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="LibraryAuditing" abstract="false" lazy="false" discriminator-value="LibraryAuditing" table="`LIBRARYAUDITING`">
+ <meta attribute="eclassName" inherit="false">LibraryAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="LIBRARYAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="LIBRARYAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="writers" table="`LIBRARYAUDITING_WRITERSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_WRITERS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_WRITERS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_WRITERS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ <list name="books" table="`LIBRARYAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="LIBRARYAUDITING_BOOKS_KEY" update="true">
+ <column name="`LIBRARYAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`LIBRARYAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="WriterAuditing" abstract="false" lazy="false" discriminator-value="WriterAuditing" table="`WRITERAUDITING`">
+ <meta attribute="eclassName" inherit="false">WriterAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.example.eclipse.org/LibraryAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="WRITERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="WRITERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="books" table="`WRITERAUDITING_BOOKSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="WRITERAUDITING_BOOKS_KEY" update="true">
+ <column name="`WRITERAUDITING_BOOKS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`WRITERAUDITING_BOOKS_IDX`"/>
+ <element type="java.lang.String"/>
+ </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.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml
new file mode 100644
index 000000000..d4a48825f
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_e_o_hibernate.hbm.xml
@@ -0,0 +1,501 @@
+<?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.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" table="`ITEMCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="elements" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="ITEMCONTAINER_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINER_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" table="`ITEMELEMENT`">
+ <meta attribute="eclassName" inherit="false">ItemElement</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" table="`ITEMNONCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" table="`ITEMNONCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER2_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" table="`ITEMCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="elements" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`ITEMELEMENTBIDIR_ITEM_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElementBidir"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl" entity-name="ItemElementBidir" abstract="false" lazy="false" table="`ITEMELEMENTBIDIR`">
+ <meta attribute="eclassName" inherit="false">ItemElementBidir</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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>
+ <many-to-one name="item" entity-name="ItemContainer2" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIR_ITEM" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`ITEMELEMENTBIDIR_ITEM_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</meta>
+ <id name="id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" table="`ITEMCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINERAUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINERAUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" table="`ITEMELEMENTAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" table="`ITEMNONCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMNONCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" table="`ITEMNONCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMNONCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" table="`ITEMCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2AUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementBidirAuditing" abstract="false" lazy="false" table="`ITEMELEMENTBIDIRAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementBidirAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIRAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="item" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ITEM`"/>
+ </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.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml
new file mode 100644
index 000000000..a307d3c69
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/hbm/org.eclipse.emf.teneo.hibernate.test.issues/RefreshObjectWithResourceTestAction_hsqldb_h_o_hibernate.hbm.xml
@@ -0,0 +1,540 @@
+<?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.refreshextra.impl.ItemContainerImpl" entity-name="ItemContainer" abstract="false" lazy="false" discriminator-value="ItemContainer" table="`ITEMCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMCONTAINERDTYPE" 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="elements" lazy="true" cascade="all,delete-orphan">
+ <key foreign-key="ITEMCONTAINER_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINER_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl" entity-name="ItemElement" abstract="false" lazy="false" discriminator-value="ItemElement" table="`ITEMELEMENT`">
+ <meta attribute="eclassName" inherit="false">ItemElement</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMELEMENTDTYPE" 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="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl" entity-name="ItemNonContainer" abstract="false" lazy="false" discriminator-value="ItemNonContainer" table="`ITEMNONCONTAINER`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMNONCONTAINERDTYPE" 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="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl" entity-name="ItemNonContainer2" abstract="false" lazy="false" discriminator-value="ItemNonContainer2" table="`ITEMNONCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMNONCONTAINER2DTYPE" 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="elements" lazy="true" cascade="persist,merge,refresh,save-update,lock">
+ <key foreign-key="ITEMNONCONTAINER2_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2_ELEMENTS_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElement"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl" entity-name="ItemContainer2" abstract="false" lazy="false" discriminator-value="ItemContainer2" table="`ITEMCONTAINER2`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMCONTAINER2DTYPE" 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="elements" lazy="true" cascade="all,delete-orphan">
+ <key update="true">
+ <column name="`ITEMELEMENTBIDIR_ITEM_E_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2_ELEMENTS_IDX`"/>
+ <one-to-many entity-name="ItemElementBidir"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl" entity-name="ItemElementBidir" abstract="false" lazy="false" discriminator-value="ItemElementBidir" table="`ITEMELEMENTBIDIR`">
+ <meta attribute="eclassName" inherit="false">ItemElementBidir</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextra</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="ITEMELEMENTBIDIRDTYPE" 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>
+ <many-to-one name="item" entity-name="ItemContainer2" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIR_ITEM" insert="false" update="false" not-null="false">
+ <column not-null="false" unique="false" name="`ITEMELEMENTBIDIR_ITEM_E_ID`"/>
+ </many-to-one>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditCommitInfoImpl" entity-name="TeneoAuditCommitInfo" abstract="false" lazy="false" discriminator-value="TeneoAuditCommitInfo" table="`TENEOAUDITCOMMITINFO`">
+ <meta attribute="eclassName" inherit="false">TeneoAuditCommitInfo</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/hibernate/auditing</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="TENEOAUDITCOMMITINFODTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="version" type="long">
+ <column not-null="true" unique="false" name="`VERSION`"/>
+ </version>
+ <property name="user" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`USER`"/>
+ </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`" length="2000"/>
+ </property>
+ <property name="commitTime" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`COMMITTIME`"/>
+ </property>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemContainerAuditing" table="`ITEMCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMCONTAINERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINERAUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINERAUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementAuditing" abstract="false" lazy="false" discriminator-value="ItemElementAuditing" table="`ITEMELEMENTAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMELEMENTAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainerAuditing" abstract="false" lazy="false" discriminator-value="ItemNonContainerAuditing" table="`ITEMNONCONTAINERAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainerAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMNONCONTAINERAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINERAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMNONCONTAINERAUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINERAUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINERAUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINERAUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemNonContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemNonContainer2Auditing" table="`ITEMNONCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemNonContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMNONCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMNONCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMNONCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMNONCONTAINER2AUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMNONCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMNONCONTAINER2AUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemContainer2Auditing" abstract="false" lazy="false" discriminator-value="ItemContainer2Auditing" table="`ITEMCONTAINER2AUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemContainer2Auditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMCONTAINER2AUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMCONTAINER2AUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="elements" table="`ITEMCONTAINER2AUDITING_ELEMENTSAUDITING`" lazy="true" cascade="all">
+ <key foreign-key="ITEMCONTAINER2AUDITING_ELEMENTS_KEY" update="true">
+ <column name="`ITEMCONTAINER2AUDITING_ELEMENTS_TENEO_AUDIT_ID`" unique="false"/>
+ </key>
+ <list-index column="`ITEMCONTAINER2AUDITING_ELEMENTS_IDX`"/>
+ <element type="java.lang.String"/>
+ </list>
+ </class>
+ <class name="org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.impl.TeneoAuditEntryImpl" entity-name="ItemElementBidirAuditing" abstract="false" lazy="false" discriminator-value="ItemElementBidirAuditing" table="`ITEMELEMENTBIDIRAUDITING`">
+ <meta attribute="eclassName" inherit="false">ItemElementBidirAuditing</meta>
+ <meta attribute="epackage" inherit="false">http://www.eclipse.org/emf/teneo/samples/issues/refreshextraAuditing</meta>
+ <id name="teneo_audit_id" type="long" unsaved-value="0">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_ID`"/>
+ <generator class="native"/>
+ </id>
+ <discriminator type="string">
+ <column name="`DTYPE`" index="ITEMELEMENTBIDIRAUDITINGDTYPE" length="255" not-null="true"/>
+ </discriminator>
+ <version name="teneo_version" type="long">
+ <column not-null="true" unique="false" name="`TENEO_VERSION`"/>
+ </version>
+ <property name="teneo_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_ID`" unique-key="c0,c1,c2"/>
+ </property>
+ <property name="teneo_owner_object_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_OWNER_OBJECT_ID`"/>
+ </property>
+ <property name="teneo_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_START`" unique-key="c0"/>
+ </property>
+ <property name="teneo_end" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_END`" unique-key="c1"/>
+ </property>
+ <many-to-one name="teneo_commit_info" entity-name="TeneoAuditCommitInfo" lazy="false" cascade="merge,persist,save-update,lock,refresh" foreign-key="ITEMELEMENTBIDIRAUDITING_TENEO_COMMIT_INFO" insert="true" update="true" not-null="true">
+ <column not-null="true" unique="false" name="`TENEOAUDITCOMMITINFO_TENEO_COMMIT_INFO_ID`"/>
+ </many-to-one>
+ <property name="teneo_audit_kind" lazy="false" not-null="true" insert="true" update="true" unique="false">
+ <column not-null="true" unique="false" name="`TENEO_AUDIT_KIND`"/>
+ <type name="org.eclipse.emf.teneo.hibernate.mapping.ENumUserType">
+ <param name="enumClass">org.eclipse.emf.teneo.hibernate.auditing.model.teneoauditing.TeneoAuditKind</param>
+ <param name="eclassifier">TeneoAuditKind</param>
+ <param name="epackage">http://www.eclipse.org/emf/teneo/hibernate/auditing</param>
+ </type>
+ </property>
+ <property name="teneo_container_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_ID`"/>
+ </property>
+ <property name="teneo_container_feature_id" lazy="false" insert="true" update="true" not-null="false" unique="false" type="int">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_ID`"/>
+ </property>
+ <property name="teneo_container_feature_name" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_CONTAINER_FEATURE_NAME`"/>
+ </property>
+ <property name="teneo_previous_start" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_PREVIOUS_START`" unique-key="c2"/>
+ </property>
+ <property name="teneo_object_version" lazy="false" insert="true" update="true" not-null="false" unique="false" type="long">
+ <column not-null="false" unique="false" name="`TENEO_OBJECT_VERSION`"/>
+ </property>
+ <property name="teneo_resourceid" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`TENEO_RESOURCEID`"/>
+ </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="item" lazy="false" insert="true" update="true" not-null="false" unique="false" type="java.lang.String">
+ <column not-null="false" unique="false" name="`ITEM`"/>
+ </property>
+ </class>
+</hibernate-mapping> \ No newline at end of file
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/AllTests.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/AllTests.java
index 66237eb59..f57b6b9e5 100755
--- a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/AllTests.java
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/AllTests.java
@@ -8,9 +8,6 @@
package org.eclipse.emf.teneo.hibernate.test.issues;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
import org.eclipse.emf.teneo.hibernate.test.HibernateTestbed;
import org.eclipse.emf.teneo.test.conf.MultiCfgTestSuite;
import org.eclipse.emf.teneo.test.issues.AbstractReferenceAction;
@@ -43,6 +40,9 @@ import org.eclipse.emf.teneo.test.issues.SimplenmAction;
import org.eclipse.emf.teneo.test.issues.SupInterfacesAction;
import org.eclipse.emf.teneo.test.issues.TopClassesAction;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
/**
* All tests
*
@@ -54,7 +54,10 @@ public class AllTests {
public static Test suite() {
TestSuite suite = new MultiCfgTestSuite("Test for org.eclipse.emf.teneo.hibernate.test.issues",
HibernateTestbed.instance().getConfigurations());
-
+ suite.addTestSuite(RefreshObjectNoResourceTestAction.class);
+ suite.addTestSuite(RefreshObjectLibraryNoResourceTestAction.class);
+ suite.addTestSuite(RefreshObjectLibraryWithResourceTestAction.class);
+ suite.addTestSuite(RefreshObjectNoResourceTestAction.class);
suite.addTestSuite(Bz245167Action.class);
suite.addTestSuite(Bz417855Action.class);
suite.addTestSuite(Bz401710Action.class);
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryNoResourceTestAction.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryNoResourceTestAction.java
new file mode 100644
index 000000000..3dc7fcabb
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryNoResourceTestAction.java
@@ -0,0 +1,115 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2017 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: LibraryResourceAction.java,v 1.20 2010/02/07 23:12:02 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.test.issues;
+
+import org.eclipse.emf.teneo.test.AbstractTestAction;
+import org.eclipse.emf.teneo.test.stores.TestStore;
+import org.eclipse.example.library.Book;
+import org.eclipse.example.library.BookCategory;
+import org.eclipse.example.library.Library;
+import org.eclipse.example.library.LibraryFactory;
+import org.eclipse.example.library.LibraryPackage;
+import org.eclipse.example.library.Writer;
+
+/**
+ * Tests the refreshing of an object outside of a resource.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.20 $
+ */
+public class RefreshObjectLibraryNoResourceTestAction extends AbstractTestAction {
+ public RefreshObjectLibraryNoResourceTestAction() {
+ super(LibraryPackage.eINSTANCE);
+ }
+
+ /** Creates an item, an address and links them to a po. */
+ @Override
+ public void doAction(TestStore store) {
+ final LibraryFactory factory = LibraryFactory.eINSTANCE;
+
+ // create a book, writer and library
+ try {
+ {
+ store.beginTransaction();
+ final Writer writer = factory.createWriter();
+ writer.setName("JRR_Tolkien");
+
+ final Book book = factory.createBook();
+ book.setAuthor(writer);
+ book.setPages(510);
+ book.setTitle("Fellowship_of_the_Ring");
+ book.setCategory(BookCategory.SCIENCE_FICTION);
+ final Book book2 = factory.createBook();
+ book2.setAuthor(writer);
+ book2.setPages(500);
+ book2.setTitle("The_Hobbit");
+ book2.setCategory(BookCategory.SCIENCE_FICTION);
+
+ // sorry george making a mistake here, will correct this below
+ final Book book3 = factory.createBook();
+ book3.setAuthor(writer);
+ book3.setPages(500);
+ book3.setTitle("nineteeneightyfour");
+ book3.setCategory(BookCategory.SCIENCE_FICTION);
+ final Library library = factory.createLibrary();
+ library.setName("Science_Fiction");
+ library.getBooks().add(book);
+ library.getBooks().add(book2);
+ library.getBooks().add(book3);
+ library.getWriters().add(writer);
+ store.store(library);
+ store.commitTransaction();
+ }
+
+ // walk through the structure starting from the library
+ {
+ store.beginTransaction();
+ Library lib = (Library) store.getObject(Library.class);
+ store.refresh(lib);
+
+ Writer tolkien = lib.getWriters().get(0);
+ assertTrue(tolkien.getName().equals("JRR_Tolkien"));
+ Book orwellsBook = tolkien.getBooks().get(2);
+ assertTrue(orwellsBook.getTitle().compareTo("nineteeneightyfour") == 0);
+
+ // add orwell as a writer
+ final Writer george = factory.createWriter();
+ george.setName("George_Orwell");
+ orwellsBook.setAuthor(george);
+
+ // and put george in our library
+ lib.getWriters().add(george);
+
+ assertEquals(2, tolkien.getBooks().size());
+ assertEquals(3, lib.getBooks().size());
+
+ // and save it all
+ store.store(lib);
+ store.flush();
+ store.refresh(lib);
+
+ george.setName("G._Orwell"); // there was a bug in which this
+ assertTrue(lib.getBooks().size() > 0);
+ assertTrue(lib.getWriters().size() > 0);
+ store.commitTransaction();
+ }
+
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryWithResourceTestAction.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryWithResourceTestAction.java
new file mode 100755
index 000000000..39d51cefc
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectLibraryWithResourceTestAction.java
@@ -0,0 +1,140 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2005, 2006, 2007, 2008 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: LibraryResourceAction.java,v 1.20 2010/02/07 23:12:02 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.test.issues;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.teneo.hibernate.resource.HibernateResource;
+import org.eclipse.emf.teneo.test.AbstractTestAction;
+import org.eclipse.emf.teneo.test.stores.TestStore;
+import org.eclipse.example.library.Book;
+import org.eclipse.example.library.BookCategory;
+import org.eclipse.example.library.Library;
+import org.eclipse.example.library.LibraryFactory;
+import org.eclipse.example.library.LibraryPackage;
+import org.eclipse.example.library.Writer;
+
+/**
+ * Tests the refreshing of an object also related to a resource.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.20 $
+ */
+public class RefreshObjectLibraryWithResourceTestAction extends AbstractTestAction {
+ public RefreshObjectLibraryWithResourceTestAction() {
+ super(LibraryPackage.eINSTANCE);
+ }
+
+ /** Creates an item, an address and links them to a po. */
+ @Override
+ public void doAction(TestStore store) {
+ final LibraryFactory factory = LibraryFactory.eINSTANCE;
+
+ // create a book, writer and library
+ try {
+ {
+ Resource res = getResource(store);
+ res.load(null);
+
+ final Writer writer = factory.createWriter();
+ writer.setName("JRR_Tolkien");
+
+ final Book book = factory.createBook();
+ book.setAuthor(writer);
+ book.setPages(510);
+ book.setTitle("Fellowship_of_the_Ring");
+ book.setCategory(BookCategory.SCIENCE_FICTION);
+ final Book book2 = factory.createBook();
+ book2.setAuthor(writer);
+ book2.setPages(500);
+ book2.setTitle("The_Hobbit");
+ book2.setCategory(BookCategory.SCIENCE_FICTION);
+
+ // sorry george making a mistake here, will correct this below
+ final Book book3 = factory.createBook();
+ book3.setAuthor(writer);
+ book3.setPages(500);
+ book3.setTitle("nineteeneightyfour");
+ book3.setCategory(BookCategory.SCIENCE_FICTION);
+ final Library library = factory.createLibrary();
+ library.setName("Science_Fiction");
+ library.getBooks().add(book);
+ library.getBooks().add(book2);
+ library.getBooks().add(book3);
+ library.getWriters().add(writer);
+
+ res.getContents().add(library);
+ res.save(null);
+ res.save(null);
+ res.unload();
+ assertTrue(res.getContents().size() == 0);
+ assertTrue(library.getBooks().size() > 0);
+ assertTrue(library.getWriters().size() > 0);
+ }
+
+ // walk through the structure starting from the library
+ {
+ Resource res = getResource(store);
+ // res.setTrackingModification(true);
+ res.load(null);
+
+ Library lib = (Library) res.getContents().get(0);
+
+ HibernateResource hbRes = (HibernateResource) res;
+ hbRes.getSessionWrapper().beginTransaction();
+ hbRes.getSessionWrapper().refresh(lib);
+ hbRes.getSessionWrapper().commitTransaction();
+
+ Writer tolkien = lib.getWriters().get(0);
+ assertTrue(tolkien.getName().equals("JRR_Tolkien"));
+ Book orwellsBook = tolkien.getBooks().get(2);
+ assertTrue(orwellsBook.getTitle().compareTo("nineteeneightyfour") == 0);
+
+ // add orwell as a writer
+ final Writer george = factory.createWriter();
+ george.setName("George_Orwell");
+ orwellsBook.setAuthor(george);
+
+ // and put george in our library
+ lib.getWriters().add(george);
+
+ assertEquals(2, tolkien.getBooks().size());
+ assertEquals(3, lib.getBooks().size());
+
+ // and save it all
+ res.save(null);
+ res.save(null);
+
+ george.setName("G._Orwell"); // there was a bug in which this
+ // failed, reported by
+ // Georgi Manev
+ res.save(null);
+ res.save(null);
+ res.unload();
+ assertTrue(res.getContents().size() == 0);
+ assertTrue(lib.getBooks().size() > 0);
+ assertTrue(lib.getWriters().size() > 0);
+ }
+
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected Resource getResource(TestStore store) {
+ return store.getResource();
+ }
+}
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectNoResourceTestAction.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectNoResourceTestAction.java
new file mode 100644
index 000000000..0f902c35d
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectNoResourceTestAction.java
@@ -0,0 +1,192 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2017 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: LibraryResourceAction.java,v 1.20 2010/02/07 23:12:02 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.test.issues;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraFactory;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+import org.eclipse.emf.teneo.test.AbstractTestAction;
+import org.eclipse.emf.teneo.test.stores.TestStore;
+
+/**
+ * Tests the refreshing of an object outside of a resource.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.20 $
+ */
+public class RefreshObjectNoResourceTestAction extends AbstractTestAction {
+ public RefreshObjectNoResourceTestAction() {
+ super(RefreshextraPackage.eINSTANCE);
+ }
+
+ /** Creates an item, an address and links them to a po. */
+ @Override
+ public void doAction(TestStore store) {
+ testNonContained(store);
+ testContained(store);
+ testContainedBidir(store);
+ }
+
+ private void testContained(TestStore store) {
+ final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE;
+
+ {
+ store.beginTransaction();
+ final ItemContainer ic = factory.createItemContainer();
+ ic.setName("ic1");
+ final ItemElement element = factory.createItemElement();
+ element.setName("ie1");
+ ic.getElements().add(element);
+ store.store(element);
+ store.store(ic);
+ store.commitTransaction();
+ }
+
+ // with pre-accessing the list
+ {
+ store.beginTransaction();
+ final ItemContainer ic = store.getObject(ItemContainer.class);
+ assertTrue(ic.getElements().size() == 1);
+ Object collection = ic.getElements();
+ ItemElement ie = ic.getElements().get(0);
+ assertTrue(ie.eContainer() == ic);
+
+ store.refresh(ic);
+
+ // after refresh the collection is the same and the element
+ // is also the same object and the parent should be the same to
+ assertTrue(ie == ic.getElements().get(0));
+ assertTrue(collection == ic.getElements());
+ assertTrue(ie.eContainer() == ic);
+ store.commitTransaction();
+ }
+
+ // with pre-accessing the list
+ {
+ store.beginTransaction();
+ final ItemContainer ic = store.getObject(ItemContainer.class);
+
+ store.refresh(ic);
+
+ // after refresh the collection is the same and the element
+ // is also the same object and the parent should be the same to
+ ItemElement ie = ic.getElements().get(0);
+ assertTrue(ie == ic.getElements().get(0));
+ assertTrue(ie.eContainer() == ic);
+
+ // clean up
+ store.deleteObject(ic);
+ store.flush();
+
+ // was contained relation so child should gave gone to
+ store.checkNumber(ItemElement.class, 0);
+ store.checkNumber(ItemContainer.class, 0);
+ store.commitTransaction();
+ }
+ }
+
+ private void testContainedBidir(TestStore store) {
+ final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE;
+
+ {
+ store.beginTransaction();
+ final ItemContainer2 ic2 = factory.createItemContainer2();
+ ic2.setName("ic1");
+ final ItemElementBidir element = factory.createItemElementBidir();
+ element.setName("ie1");
+ ic2.getElements().add(element);
+ store.store(ic2);
+ store.commitTransaction();
+ }
+ {
+ store.beginTransaction();
+ final ItemContainer2 ic = store.getObject(ItemContainer2.class);
+ assertTrue(ic.getElements().size() == 1);
+ Object collection = ic.getElements();
+ ItemElementBidir ie = ic.getElements().get(0);
+ assertTrue(ie.eContainer() == ic);
+ assertTrue(ie.getItem() == ic);
+
+ store.refresh(ic);
+
+ // after refresh the collection is the same and the element
+ // is also the same object and the parent is the same object
+ assertTrue(ie == ic.getElements().get(0));
+ assertTrue(collection == ic.getElements());
+ assertTrue(ie.eContainer() == ic);
+ assertTrue(ie.getItem() == ic);
+
+ // clean up
+ store.deleteObject(ic);
+ store.flush();
+
+ // was contained relation so child should gave gone to
+ store.checkNumber(ItemContainer2.class, 0);
+ store.checkNumber(ItemElementBidir.class, 0);
+ store.commitTransaction();
+ }
+ }
+
+ private void testNonContained(TestStore store) {
+ final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE;
+
+ {
+ store.beginTransaction();
+ final ItemNonContainer inc = factory.createItemNonContainer();
+ inc.setName("inc1");
+ final ItemElement element = factory.createItemElement();
+ element.setName("ie1");
+ inc.getElements().add(element);
+ store.store(element);
+ store.store(inc);
+ store.commitTransaction();
+ }
+ {
+ store.beginTransaction();
+ final ItemNonContainer inc = store.getObject(ItemNonContainer.class);
+ assertTrue(inc.getElements().size() == 1);
+ Object collection = inc.getElements();
+ ItemElement ie = inc.getElements().get(0);
+ store.refresh(inc);
+ assertTrue(ie == inc.getElements().get(0));
+ assertTrue(collection == inc.getElements());
+ store.commitTransaction();
+ }
+ {
+ store.beginTransaction();
+ final ItemNonContainer inc = store.getObject(ItemNonContainer.class);
+ store.refresh(inc);
+ assertTrue(inc.getElements().size() == 1);
+ final ItemElement ie = inc.getElements().get(0);
+
+ // clean up
+ inc.getElements().clear();
+ store.deleteObject(ie);
+ store.deleteObject(inc);
+ store.flush();
+
+ store.checkNumber(ItemElement.class, 0);
+ store.checkNumber(ItemNonContainer.class, 0);
+
+ store.commitTransaction();
+ }
+ }
+}
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectWithResourceTestAction.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectWithResourceTestAction.java
new file mode 100644
index 000000000..80f5a998f
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/issues/RefreshObjectWithResourceTestAction.java
@@ -0,0 +1,207 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2017 Springsite BV (The Netherlands) and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Martin Taal
+ * </copyright>
+ *
+ * $Id: LibraryResourceAction.java,v 1.20 2010/02/07 23:12:02 mtaal Exp $
+ */
+
+package org.eclipse.emf.teneo.hibernate.test.issues;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.teneo.hibernate.resource.HibernateResource;
+import org.eclipse.emf.teneo.resource.StoreResource;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraFactory;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+import org.eclipse.emf.teneo.test.AbstractTestAction;
+import org.eclipse.emf.teneo.test.stores.TestStore;
+
+/**
+ * Tests the refreshing of an object using a resource.
+ *
+ * @author <a href="mailto:mtaal@elver.org">Martin Taal</a>
+ * @version $Revision: 1.20 $
+ */
+public class RefreshObjectWithResourceTestAction extends AbstractTestAction {
+ public RefreshObjectWithResourceTestAction() {
+ super(RefreshextraPackage.eINSTANCE);
+ }
+
+ /** Creates an item, an address and links them to a po. */
+ @Override
+ public void doAction(TestStore store) {
+ try {
+ testNonContained(store);
+ testContained(store);
+ testContainedBidir(store);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private void testContained(TestStore store) throws Exception {
+ final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE;
+
+ {
+ Resource res = store.getResource();
+ res.load(null);
+ final ItemContainer ic = factory.createItemContainer();
+ ic.setName("ic1");
+ final ItemElement element = factory.createItemElement();
+ element.setName("ie1");
+ ic.getElements().add(element);
+ res.getContents().add(ic);
+ res.save(null);
+ }
+ {
+ Resource res = store.getResource();
+ res.load(null);
+ final ItemContainer ic = (ItemContainer) res.getContents().get(0);
+ assertTrue(ic.getElements().size() == 1);
+ Object collection = ic.getElements();
+ ItemElement ie = ic.getElements().get(0);
+ assertTrue(ie.eContainer() == ic);
+
+ ((HibernateResource) res).getSessionWrapper().refresh(ic);
+
+ // after refresh the collection is the same and the element
+ // is also the same object and the parent should be the same to
+ assertTrue(ie == ic.getElements().get(0));
+ assertTrue(collection == ic.getElements());
+ assertTrue(ie.eContainer() == ic);
+
+ // clean up
+ res.getContents().remove(0);
+ res.save(null);
+
+ // was contained relation so child should gave gone to
+ store.beginTransaction();
+ store.checkNumber(ItemElement.class, 0);
+ store.checkNumber(ItemContainer.class, 0);
+ store.commitTransaction();
+ }
+ }
+
+ private void testContainedBidir(TestStore store) throws Exception {
+ final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE;
+
+ {
+ Resource res = store.getResource();
+ res.load(null);
+ final ItemContainer2 ic2 = factory.createItemContainer2();
+ ic2.setName("ic1");
+ final ItemElementBidir element = factory.createItemElementBidir();
+ element.setName("ie1");
+ ic2.getElements().add(element);
+ res.getContents().add(ic2);
+ res.save(null);
+
+ // check the counts
+ store.beginTransaction();
+ store.checkNumber(ItemContainer2.class, 1);
+ store.checkNumber(ItemElementBidir.class, 1);
+ store.commitTransaction();
+ }
+ {
+ Resource res = store.getResource();
+ res.load(null);
+ final ItemContainer2 ic = (ItemContainer2) res.getContents().get(0);
+ assertTrue(ic.getElements().size() == 1);
+ Object collection = ic.getElements();
+ ItemElementBidir ie = ic.getElements().get(0);
+ assertTrue(ie.eContainer() == ic);
+ assertTrue(ie.getItem() == ic);
+
+ ((HibernateResource) res).getSessionWrapper().refresh(ic);
+
+ // after refresh the collection is the same and the element
+ // is also the same object and the parent is the same object
+ assertTrue(ie == ic.getElements().get(0));
+ assertTrue(collection == ic.getElements());
+ assertTrue(ie.eContainer() == ic);
+ assertTrue(ie.getItem() == ic);
+
+ // clean up
+ res.getContents().clear();
+ res.save(null);
+
+ // was contained relation so child should gave gone to
+ store.beginTransaction();
+ store.checkNumber(ItemContainer2.class, 0);
+ store.checkNumber(ItemElementBidir.class, 0);
+ store.commitTransaction();
+ }
+ }
+
+ private void testNonContained(TestStore store) throws Exception {
+ final RefreshextraFactory factory = RefreshextraFactory.eINSTANCE;
+
+ {
+ Resource res = store.getResource();
+ res.load(null);
+ final ItemNonContainer inc = factory.createItemNonContainer();
+ inc.setName("inc1");
+ final ItemElement element = factory.createItemElement();
+ element.setName("ie1");
+ inc.getElements().add(element);
+ res.getContents().add(inc);
+ res.getContents().add(element);
+ res.save(null);
+
+ store.beginTransaction();
+ store.checkNumber(ItemElement.class, 1);
+ store.checkNumber(ItemNonContainer.class, 1);
+ store.commitTransaction();
+ }
+ {
+ Resource res = store.getResource();
+ res.load(null);
+ final ItemNonContainer inc = (ItemNonContainer) res.getContents().get(0);
+ assertTrue(inc.getElements().size() == 1);
+ Object collection = inc.getElements();
+ ItemElement ie = inc.getElements().get(0);
+
+ ((HibernateResource) res).getSessionWrapper().refresh(inc);
+
+ assertTrue(ie == inc.getElements().get(0));
+ assertTrue(collection == inc.getElements());
+ res.unload();
+ }
+ {
+ Resource res = store.getResource();
+ Map<String, String> options = new HashMap<String, String>();
+ options.put(StoreResource.LOAD_STRATEGY_PARAM, StoreResource.ADD_TO_CONTENTS);
+ res.load(options);
+ final ItemNonContainer inc = (ItemNonContainer) res.getContents().get(0);
+ ((HibernateResource) res).getSessionWrapper().refresh(inc);
+ assertTrue(inc.getElements().size() == 1);
+
+ // clean up
+ final Collection<?> collection = res.getContents();
+ collection.clear();
+ res.save(null);
+
+ store.beginTransaction();
+ store.checkNumber(ItemElement.class, 0);
+ store.checkNumber(ItemNonContainer.class, 0);
+ store.commitTransaction();
+ }
+ }
+}
diff --git a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/stores/HibernateTestStore.java b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/stores/HibernateTestStore.java
index 5b64f0c9f..456be91d1 100755
--- a/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/stores/HibernateTestStore.java
+++ b/tests/org.eclipse.emf.teneo.hibernate.test/src/org/eclipse/emf/teneo/hibernate/test/stores/HibernateTestStore.java
@@ -18,8 +18,6 @@ import java.util.Properties;
import javax.persistence.EntityManager;
-import junit.framework.TestCase;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.eclipse.emf.common.util.URI;
@@ -55,6 +53,8 @@ import org.hibernate.FlushMode;
import org.hibernate.Session;
import org.hibernate.cfg.Environment;
+import junit.framework.TestCase;
+
/**
* The hibernate test store encapsulates the datastore actions to a hibernate store.
*
diff --git a/tests/org.eclipse.emf.teneo.samples/META-INF/MANIFEST.MF b/tests/org.eclipse.emf.teneo.samples/META-INF/MANIFEST.MF
index ad0cf0a9e..ae986c792 100755
--- a/tests/org.eclipse.emf.teneo.samples/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.emf.teneo.samples/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-SymbolicName: org.eclipse.emf.teneo.samples;singleton:=true
Bundle-Version: 1.1.2.qualifier
Bundle-Localization: plugin
Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.7.0";visibility:=reexport,
- org.eclipse.emf.ecore.xmi,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.eclipse.core.runtime,
org.eclipse.core.resources;visibility:=reexport,
org.eclipse.emf.edit.ui;visibility:=reexport,
@@ -2220,8 +2220,10 @@ Export-Package: com.example.car;
testinheritance.validation;
uses:="testinheritance,
org.eclipse.emf.common.util",
- compositefkid.util,
org.eclipse.emf.teneo.samples.emf.annotations.compositefkid,
- org.eclipse.emf.teneo.samples.emf.annotations.compositefkid.impl
+ org.eclipse.emf.teneo.samples.emf.annotations.compositefkid.impl,
+ org.eclipse.emf.teneo.samples.issues.refreshextra,
+ org.eclipse.emf.teneo.samples.issues.refreshextra.impl,
+ org.eclipse.emf.teneo.samples.issues.refreshextra.util
Bundle-ClassPath: .
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/tests/org.eclipse.emf.teneo.samples/plugin.xml b/tests/org.eclipse.emf.teneo.samples/plugin.xml
index e6e578b3e..40899deef 100755
--- a/tests/org.eclipse.emf.teneo.samples/plugin.xml
+++ b/tests/org.eclipse.emf.teneo.samples/plugin.xml
@@ -65,4 +65,18 @@
type="rental"
class="org.eclipse.emf.teneo.rental.util.RentalResourceFactoryImpl"/>
</extension>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated refreshextra -->
+ <package
+ uri="http://www.eclipse.org/emf/teneo/samples/issues/refreshextra"
+ class="org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage"
+ genModel="src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <!-- @generated refreshextra -->
+ <parser
+ type="refreshextra"
+ class="org.eclipse.emf.teneo.samples.issues.refreshextra.util.RefreshextraResourceFactoryImpl"/>
+ </extension>
</plugin>
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer.java
new file mode 100644
index 000000000..d4cb7463e
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer.java
@@ -0,0 +1,71 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getElements <em>Elements</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer()
+ * @model extendedMetaData="name='Item' kind='elementOnly'"
+ * @generated
+ */
+public interface ItemContainer extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * extendedMetaData="kind='element' name='name'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Elements</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer_Elements()
+ * @model containment="true" required="true"
+ * extendedMetaData="kind='element' name='lineOne'"
+ * @generated
+ */
+ EList<ItemElement> getElements();
+
+} // ItemContainer
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer2.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer2.java
new file mode 100644
index 000000000..dc6ef6bae
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemContainer2.java
@@ -0,0 +1,73 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Container2</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements <em>Elements</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer2()
+ * @model extendedMetaData="name='Item' kind='elementOnly'"
+ * @generated
+ */
+public interface ItemContainer2 extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer2_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * extendedMetaData="kind='element' name='name'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Elements</em>' containment reference list.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemContainer2_Elements()
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem
+ * @model opposite="item" containment="true" required="true"
+ * extendedMetaData="kind='element' name='lineOne'"
+ * @generated
+ */
+ EList<ItemElementBidir> getElements();
+
+} // ItemContainer2
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElement.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElement.java
new file mode 100644
index 000000000..291021959
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElement.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElement()
+ * @model extendedMetaData="name='LineOne' kind='elementOnly'"
+ * @generated
+ */
+public interface ItemElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElement_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * extendedMetaData="kind='element' name='name'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+} // ItemElement
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElementBidir.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElementBidir.java
new file mode 100644
index 000000000..5490d45d5
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemElementBidir.java
@@ -0,0 +1,80 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Element Bidir</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem <em>Item</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElementBidir()
+ * @model extendedMetaData="name='LineOne' kind='elementOnly'"
+ * @generated
+ */
+public interface ItemElementBidir extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElementBidir_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * extendedMetaData="kind='element' name='name'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Item</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Item</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Item</em>' container reference.
+ * @see #setItem(ItemContainer2)
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemElementBidir_Item()
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements
+ * @model opposite="elements" transient="false"
+ * @generated
+ */
+ ItemContainer2 getItem();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem <em>Item</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Item</em>' container reference.
+ * @see #getItem()
+ * @generated
+ */
+ void setItem(ItemContainer2 value);
+
+} // ItemElementBidir
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer.java
new file mode 100644
index 000000000..c8cff00ea
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer.java
@@ -0,0 +1,71 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Non Container</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getElements <em>Elements</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer()
+ * @model extendedMetaData="name='Item' kind='elementOnly'"
+ * @generated
+ */
+public interface ItemNonContainer extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * extendedMetaData="kind='element' name='name'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Elements</em>' reference list.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer_Elements()
+ * @model resolveProxies="false" required="true"
+ * extendedMetaData="kind='element' name='lineOne'"
+ * @generated
+ */
+ EList<ItemElement> getElements();
+
+} // ItemNonContainer
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer2.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer2.java
new file mode 100644
index 000000000..8b7bed86d
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/ItemNonContainer2.java
@@ -0,0 +1,71 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Item Non Container2</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getElements <em>Elements</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer2()
+ * @model extendedMetaData="name='Item' kind='elementOnly'"
+ * @generated
+ */
+public interface ItemNonContainer2 extends EObject {
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer2_Name()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.xml.type.String" required="true"
+ * extendedMetaData="kind='element' name='name'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Elements</em>' reference list.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#getItemNonContainer2_Elements()
+ * @model resolveProxies="false" required="true"
+ * extendedMetaData="kind='element' name='lineOne'"
+ * @generated
+ */
+ EList<ItemElement> getElements();
+
+} // ItemNonContainer2
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraFactory.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraFactory.java
new file mode 100644
index 000000000..a4bc3c0fc
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraFactory.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage
+ * @generated
+ */
+public interface RefreshextraFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ RefreshextraFactory eINSTANCE = org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Item Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Item Container</em>'.
+ * @generated
+ */
+ ItemContainer createItemContainer();
+
+ /**
+ * Returns a new object of class '<em>Item Element</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Item Element</em>'.
+ * @generated
+ */
+ ItemElement createItemElement();
+
+ /**
+ * Returns a new object of class '<em>Item Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Item Non Container</em>'.
+ * @generated
+ */
+ ItemNonContainer createItemNonContainer();
+
+ /**
+ * Returns a new object of class '<em>Item Non Container2</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Item Non Container2</em>'.
+ * @generated
+ */
+ ItemNonContainer2 createItemNonContainer2();
+
+ /**
+ * Returns a new object of class '<em>Item Container2</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Item Container2</em>'.
+ * @generated
+ */
+ ItemContainer2 createItemContainer2();
+
+ /**
+ * Returns a new object of class '<em>Item Element Bidir</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Item Element Bidir</em>'.
+ * @generated
+ */
+ ItemElementBidir createItemElementBidir();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ RefreshextraPackage getRefreshextraPackage();
+
+} //RefreshextraFactory
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraPackage.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraPackage.java
new file mode 100644
index 000000000..d1aa2ed9a
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/RefreshextraPackage.java
@@ -0,0 +1,682 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface RefreshextraPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "refreshextra";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/teneo/samples/issues/refreshextra";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "refreshextra";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ RefreshextraPackage eINSTANCE = org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl <em>Item Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemContainer()
+ * @generated
+ */
+ int ITEM_CONTAINER = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_CONTAINER__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_CONTAINER__ELEMENTS = 1;
+
+ /**
+ * The number of structural features of the '<em>Item Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_CONTAINER_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Item Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_CONTAINER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl <em>Item Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemElement()
+ * @generated
+ */
+ int ITEM_ELEMENT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_ELEMENT__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>Item Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_ELEMENT_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Item Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_ELEMENT_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl <em>Item Non Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemNonContainer()
+ * @generated
+ */
+ int ITEM_NON_CONTAINER = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_NON_CONTAINER__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_NON_CONTAINER__ELEMENTS = 1;
+
+ /**
+ * The number of structural features of the '<em>Item Non Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_NON_CONTAINER_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Item Non Container</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_NON_CONTAINER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl <em>Item Non Container2</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemNonContainer2()
+ * @generated
+ */
+ int ITEM_NON_CONTAINER2 = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_NON_CONTAINER2__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_NON_CONTAINER2__ELEMENTS = 1;
+
+ /**
+ * The number of structural features of the '<em>Item Non Container2</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_NON_CONTAINER2_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Item Non Container2</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_NON_CONTAINER2_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl <em>Item Container2</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemContainer2()
+ * @generated
+ */
+ int ITEM_CONTAINER2 = 4;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_CONTAINER2__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_CONTAINER2__ELEMENTS = 1;
+
+ /**
+ * The number of structural features of the '<em>Item Container2</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_CONTAINER2_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Item Container2</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_CONTAINER2_OPERATION_COUNT = 0;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl <em>Item Element Bidir</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemElementBidir()
+ * @generated
+ */
+ int ITEM_ELEMENT_BIDIR = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_ELEMENT_BIDIR__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Item</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_ELEMENT_BIDIR__ITEM = 1;
+
+ /**
+ * The number of structural features of the '<em>Item Element Bidir</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_ELEMENT_BIDIR_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Item Element Bidir</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ITEM_ELEMENT_BIDIR_OPERATION_COUNT = 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer <em>Item Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Container</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer
+ * @generated
+ */
+ EClass getItemContainer();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getName()
+ * @see #getItemContainer()
+ * @generated
+ */
+ EAttribute getItemContainer_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer#getElements()
+ * @see #getItemContainer()
+ * @generated
+ */
+ EReference getItemContainer_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement <em>Item Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Element</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement
+ * @generated
+ */
+ EClass getItemElement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement#getName()
+ * @see #getItemElement()
+ * @generated
+ */
+ EAttribute getItemElement_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer <em>Item Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Non Container</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer
+ * @generated
+ */
+ EClass getItemNonContainer();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getName()
+ * @see #getItemNonContainer()
+ * @generated
+ */
+ EAttribute getItemNonContainer_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer#getElements()
+ * @see #getItemNonContainer()
+ * @generated
+ */
+ EReference getItemNonContainer_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2 <em>Item Non Container2</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Non Container2</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2
+ * @generated
+ */
+ EClass getItemNonContainer2();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getName()
+ * @see #getItemNonContainer2()
+ * @generated
+ */
+ EAttribute getItemNonContainer2_Name();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2#getElements()
+ * @see #getItemNonContainer2()
+ * @generated
+ */
+ EReference getItemNonContainer2_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2 <em>Item Container2</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Container2</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2
+ * @generated
+ */
+ EClass getItemContainer2();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getName()
+ * @see #getItemContainer2()
+ * @generated
+ */
+ EAttribute getItemContainer2_Name();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2#getElements()
+ * @see #getItemContainer2()
+ * @generated
+ */
+ EReference getItemContainer2_Elements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir <em>Item Element Bidir</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Item Element Bidir</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir
+ * @generated
+ */
+ EClass getItemElementBidir();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getName()
+ * @see #getItemElementBidir()
+ * @generated
+ */
+ EAttribute getItemElementBidir_Name();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem <em>Item</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Item</em>'.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir#getItem()
+ * @see #getItemElementBidir()
+ * @generated
+ */
+ EReference getItemElementBidir_Item();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ RefreshextraFactory getRefreshextraFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl <em>Item Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemContainer()
+ * @generated
+ */
+ EClass ITEM_CONTAINER = eINSTANCE.getItemContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ITEM_CONTAINER__NAME = eINSTANCE.getItemContainer_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ITEM_CONTAINER__ELEMENTS = eINSTANCE.getItemContainer_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl <em>Item Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemElement()
+ * @generated
+ */
+ EClass ITEM_ELEMENT = eINSTANCE.getItemElement();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ITEM_ELEMENT__NAME = eINSTANCE.getItemElement_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl <em>Item Non Container</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemNonContainer()
+ * @generated
+ */
+ EClass ITEM_NON_CONTAINER = eINSTANCE.getItemNonContainer();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ITEM_NON_CONTAINER__NAME = eINSTANCE.getItemNonContainer_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ITEM_NON_CONTAINER__ELEMENTS = eINSTANCE.getItemNonContainer_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl <em>Item Non Container2</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemNonContainer2()
+ * @generated
+ */
+ EClass ITEM_NON_CONTAINER2 = eINSTANCE.getItemNonContainer2();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ITEM_NON_CONTAINER2__NAME = eINSTANCE.getItemNonContainer2_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ITEM_NON_CONTAINER2__ELEMENTS = eINSTANCE.getItemNonContainer2_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl <em>Item Container2</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemContainer2()
+ * @generated
+ */
+ EClass ITEM_CONTAINER2 = eINSTANCE.getItemContainer2();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ITEM_CONTAINER2__NAME = eINSTANCE.getItemContainer2_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ITEM_CONTAINER2__ELEMENTS = eINSTANCE.getItemContainer2_Elements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl <em>Item Element Bidir</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.impl.RefreshextraPackageImpl#getItemElementBidir()
+ * @generated
+ */
+ EClass ITEM_ELEMENT_BIDIR = eINSTANCE.getItemElementBidir();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ITEM_ELEMENT_BIDIR__NAME = eINSTANCE.getItemElementBidir_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Item</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ITEM_ELEMENT_BIDIR__ITEM = eINSTANCE.getItemElementBidir_Item();
+
+ }
+
+} //RefreshextraPackage
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainer2Impl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainer2Impl.java
new file mode 100644
index 000000000..4a6dead2f
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainer2Impl.java
@@ -0,0 +1,236 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item Container2</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainer2Impl#getElements <em>Elements</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ItemContainer2Impl extends MinimalEObjectImpl.Container implements ItemContainer2 {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<ItemElementBidir> elements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemContainer2Impl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RefreshextraPackage.Literals.ITEM_CONTAINER2;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_CONTAINER2__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ItemElementBidir> getElements() {
+ if (elements == null) {
+ elements = new EObjectContainmentWithInverseEList<ItemElementBidir>(ItemElementBidir.class, this, RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS, RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getElements()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER2__NAME:
+ return getName();
+ case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER2__NAME:
+ setName((String)newValue);
+ return;
+ case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends ItemElementBidir>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER2__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER2__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ItemContainer2Impl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainerImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainerImpl.java
new file mode 100644
index 000000000..2719ef6d7
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemContainerImpl.java
@@ -0,0 +1,222 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemContainerImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ItemContainerImpl extends MinimalEObjectImpl.Container implements ItemContainer {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<ItemElement> elements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RefreshextraPackage.Literals.ITEM_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_CONTAINER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ItemElement> getElements() {
+ if (elements == null) {
+ elements = new EObjectContainmentEList<ItemElement>(ItemElement.class, this, RefreshextraPackage.ITEM_CONTAINER__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS:
+ return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER__NAME:
+ return getName();
+ case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER__NAME:
+ setName((String)newValue);
+ return;
+ case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends ItemElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_CONTAINER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case RefreshextraPackage.ITEM_CONTAINER__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ItemContainerImpl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementBidirImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementBidirImpl.java
new file mode 100644
index 000000000..868f30218
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementBidirImpl.java
@@ -0,0 +1,264 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item Element Bidir</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementBidirImpl#getItem <em>Item</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ItemElementBidirImpl extends MinimalEObjectImpl.Container implements ItemElementBidir {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemElementBidirImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RefreshextraPackage.Literals.ITEM_ELEMENT_BIDIR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemContainer2 getItem() {
+ if (eContainerFeatureID() != RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM) return null;
+ return (ItemContainer2)eInternalContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetItem(ItemContainer2 newItem, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newItem, RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setItem(ItemContainer2 newItem) {
+ if (newItem != eInternalContainer() || (eContainerFeatureID() != RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM && newItem != null)) {
+ if (EcoreUtil.isAncestor(this, newItem))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newItem != null)
+ msgs = ((InternalEObject)newItem).eInverseAdd(this, RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS, ItemContainer2.class, msgs);
+ msgs = basicSetItem(newItem, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM, newItem, newItem));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetItem((ItemContainer2)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM:
+ return basicSetItem(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM:
+ return eInternalContainer().eInverseRemove(this, RefreshextraPackage.ITEM_CONTAINER2__ELEMENTS, ItemContainer2.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME:
+ return getName();
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM:
+ return getItem();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME:
+ setName((String)newValue);
+ return;
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM:
+ setItem((ItemContainer2)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM:
+ setItem((ItemContainer2)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR__ITEM:
+ return getItem() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ItemElementBidirImpl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementImpl.java
new file mode 100644
index 000000000..d164b62a9
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemElementImpl.java
@@ -0,0 +1,163 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemElementImpl#getName <em>Name</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ItemElementImpl extends MinimalEObjectImpl.Container implements ItemElement {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RefreshextraPackage.Literals.ITEM_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_ELEMENT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ItemElementImpl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainer2Impl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainer2Impl.java
new file mode 100644
index 000000000..b43fe474d
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainer2Impl.java
@@ -0,0 +1,205 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectEList;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item Non Container2</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainer2Impl#getElements <em>Elements</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ItemNonContainer2Impl extends MinimalEObjectImpl.Container implements ItemNonContainer2 {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<ItemElement> elements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemNonContainer2Impl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RefreshextraPackage.Literals.ITEM_NON_CONTAINER2;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_NON_CONTAINER2__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ItemElement> getElements() {
+ if (elements == null) {
+ elements = new EObjectEList<ItemElement>(ItemElement.class, this, RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_NON_CONTAINER2__NAME:
+ return getName();
+ case RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_NON_CONTAINER2__NAME:
+ setName((String)newValue);
+ return;
+ case RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends ItemElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_NON_CONTAINER2__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_NON_CONTAINER2__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case RefreshextraPackage.ITEM_NON_CONTAINER2__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ItemNonContainer2Impl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainerImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainerImpl.java
new file mode 100644
index 000000000..9b9758b73
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/ItemNonContainerImpl.java
@@ -0,0 +1,205 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectEList;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Item Non Container</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.emf.teneo.samples.issues.refreshextra.impl.ItemNonContainerImpl#getElements <em>Elements</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ItemNonContainerImpl extends MinimalEObjectImpl.Container implements ItemNonContainer {
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<ItemElement> elements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemNonContainerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return RefreshextraPackage.Literals.ITEM_NON_CONTAINER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RefreshextraPackage.ITEM_NON_CONTAINER__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ItemElement> getElements() {
+ if (elements == null) {
+ elements = new EObjectEList<ItemElement>(ItemElement.class, this, RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_NON_CONTAINER__NAME:
+ return getName();
+ case RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS:
+ return getElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_NON_CONTAINER__NAME:
+ setName((String)newValue);
+ return;
+ case RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends ItemElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_NON_CONTAINER__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS:
+ getElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case RefreshextraPackage.ITEM_NON_CONTAINER__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case RefreshextraPackage.ITEM_NON_CONTAINER__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ItemNonContainerImpl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraFactoryImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraFactoryImpl.java
new file mode 100644
index 000000000..428043654
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraFactoryImpl.java
@@ -0,0 +1,150 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RefreshextraFactoryImpl extends EFactoryImpl implements RefreshextraFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static RefreshextraFactory init() {
+ try {
+ RefreshextraFactory theRefreshextraFactory = (RefreshextraFactory)EPackage.Registry.INSTANCE.getEFactory(RefreshextraPackage.eNS_URI);
+ if (theRefreshextraFactory != null) {
+ return theRefreshextraFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new RefreshextraFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefreshextraFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case RefreshextraPackage.ITEM_CONTAINER: return createItemContainer();
+ case RefreshextraPackage.ITEM_ELEMENT: return createItemElement();
+ case RefreshextraPackage.ITEM_NON_CONTAINER: return createItemNonContainer();
+ case RefreshextraPackage.ITEM_NON_CONTAINER2: return createItemNonContainer2();
+ case RefreshextraPackage.ITEM_CONTAINER2: return createItemContainer2();
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR: return createItemElementBidir();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemContainer createItemContainer() {
+ ItemContainerImpl itemContainer = new ItemContainerImpl();
+ return itemContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemElement createItemElement() {
+ ItemElementImpl itemElement = new ItemElementImpl();
+ return itemElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemNonContainer createItemNonContainer() {
+ ItemNonContainerImpl itemNonContainer = new ItemNonContainerImpl();
+ return itemNonContainer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemNonContainer2 createItemNonContainer2() {
+ ItemNonContainer2Impl itemNonContainer2 = new ItemNonContainer2Impl();
+ return itemNonContainer2;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemContainer2 createItemContainer2() {
+ ItemContainer2Impl itemContainer2 = new ItemContainer2Impl();
+ return itemContainer2;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemElementBidir createItemElementBidir() {
+ ItemElementBidirImpl itemElementBidir = new ItemElementBidirImpl();
+ return itemElementBidir;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefreshextraPackage getRefreshextraPackage() {
+ return (RefreshextraPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static RefreshextraPackage getPackage() {
+ return RefreshextraPackage.eINSTANCE;
+ }
+
+} //RefreshextraFactoryImpl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraPackageImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraPackageImpl.java
new file mode 100644
index 000000000..f210284ce
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/impl/RefreshextraPackageImpl.java
@@ -0,0 +1,527 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraFactory;
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RefreshextraPackageImpl extends EPackageImpl implements RefreshextraPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemNonContainerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemNonContainer2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemContainer2EClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass itemElementBidirEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private RefreshextraPackageImpl() {
+ super(eNS_URI, RefreshextraFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link RefreshextraPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static RefreshextraPackage init() {
+ if (isInited) return (RefreshextraPackage)EPackage.Registry.INSTANCE.getEPackage(RefreshextraPackage.eNS_URI);
+
+ // Obtain or create and register package
+ RefreshextraPackageImpl theRefreshextraPackage = (RefreshextraPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof RefreshextraPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new RefreshextraPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ XMLTypePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theRefreshextraPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theRefreshextraPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theRefreshextraPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(RefreshextraPackage.eNS_URI, theRefreshextraPackage);
+ return theRefreshextraPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemContainer() {
+ return itemContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItemContainer_Name() {
+ return (EAttribute)itemContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemContainer_Elements() {
+ return (EReference)itemContainerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemElement() {
+ return itemElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItemElement_Name() {
+ return (EAttribute)itemElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemNonContainer() {
+ return itemNonContainerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItemNonContainer_Name() {
+ return (EAttribute)itemNonContainerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemNonContainer_Elements() {
+ return (EReference)itemNonContainerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemNonContainer2() {
+ return itemNonContainer2EClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItemNonContainer2_Name() {
+ return (EAttribute)itemNonContainer2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemNonContainer2_Elements() {
+ return (EReference)itemNonContainer2EClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemContainer2() {
+ return itemContainer2EClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItemContainer2_Name() {
+ return (EAttribute)itemContainer2EClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemContainer2_Elements() {
+ return (EReference)itemContainer2EClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getItemElementBidir() {
+ return itemElementBidirEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getItemElementBidir_Name() {
+ return (EAttribute)itemElementBidirEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getItemElementBidir_Item() {
+ return (EReference)itemElementBidirEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefreshextraFactory getRefreshextraFactory() {
+ return (RefreshextraFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ itemContainerEClass = createEClass(ITEM_CONTAINER);
+ createEAttribute(itemContainerEClass, ITEM_CONTAINER__NAME);
+ createEReference(itemContainerEClass, ITEM_CONTAINER__ELEMENTS);
+
+ itemElementEClass = createEClass(ITEM_ELEMENT);
+ createEAttribute(itemElementEClass, ITEM_ELEMENT__NAME);
+
+ itemNonContainerEClass = createEClass(ITEM_NON_CONTAINER);
+ createEAttribute(itemNonContainerEClass, ITEM_NON_CONTAINER__NAME);
+ createEReference(itemNonContainerEClass, ITEM_NON_CONTAINER__ELEMENTS);
+
+ itemNonContainer2EClass = createEClass(ITEM_NON_CONTAINER2);
+ createEAttribute(itemNonContainer2EClass, ITEM_NON_CONTAINER2__NAME);
+ createEReference(itemNonContainer2EClass, ITEM_NON_CONTAINER2__ELEMENTS);
+
+ itemContainer2EClass = createEClass(ITEM_CONTAINER2);
+ createEAttribute(itemContainer2EClass, ITEM_CONTAINER2__NAME);
+ createEReference(itemContainer2EClass, ITEM_CONTAINER2__ELEMENTS);
+
+ itemElementBidirEClass = createEClass(ITEM_ELEMENT_BIDIR);
+ createEAttribute(itemElementBidirEClass, ITEM_ELEMENT_BIDIR__NAME);
+ createEReference(itemElementBidirEClass, ITEM_ELEMENT_BIDIR__ITEM);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(itemContainerEClass, ItemContainer.class, "ItemContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getItemContainer_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getItemContainer_Elements(), this.getItemElement(), null, "elements", null, 1, -1, ItemContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(itemElementEClass, ItemElement.class, "ItemElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getItemElement_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(itemNonContainerEClass, ItemNonContainer.class, "ItemNonContainer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getItemNonContainer_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemNonContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getItemNonContainer_Elements(), this.getItemElement(), null, "elements", null, 1, -1, ItemNonContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(itemNonContainer2EClass, ItemNonContainer2.class, "ItemNonContainer2", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getItemNonContainer2_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemNonContainer2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getItemNonContainer2_Elements(), this.getItemElement(), null, "elements", null, 1, -1, ItemNonContainer2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(itemContainer2EClass, ItemContainer2.class, "ItemContainer2", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getItemContainer2_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemContainer2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getItemContainer2_Elements(), this.getItemElementBidir(), this.getItemElementBidir_Item(), "elements", null, 1, -1, ItemContainer2.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(itemElementBidirEClass, ItemElementBidir.class, "ItemElementBidir", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getItemElementBidir_Name(), theXMLTypePackage.getString(), "name", null, 1, 1, ItemElementBidir.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getItemElementBidir_Item(), this.getItemContainer2(), this.getItemContainer2_Elements(), "item", null, 0, 1, ItemElementBidir.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+ createExtendedMetaDataAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createExtendedMetaDataAnnotations() {
+ String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";
+ addAnnotation
+ (itemContainerEClass,
+ source,
+ new String[] {
+ "name", "Item",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getItemContainer_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name"
+ });
+ addAnnotation
+ (getItemContainer_Elements(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "lineOne"
+ });
+ addAnnotation
+ (itemElementEClass,
+ source,
+ new String[] {
+ "name", "LineOne",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getItemElement_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name"
+ });
+ addAnnotation
+ (itemNonContainerEClass,
+ source,
+ new String[] {
+ "name", "Item",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getItemNonContainer_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name"
+ });
+ addAnnotation
+ (getItemNonContainer_Elements(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "lineOne"
+ });
+ addAnnotation
+ (itemNonContainer2EClass,
+ source,
+ new String[] {
+ "name", "Item",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getItemNonContainer2_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name"
+ });
+ addAnnotation
+ (getItemNonContainer2_Elements(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "lineOne"
+ });
+ addAnnotation
+ (itemContainer2EClass,
+ source,
+ new String[] {
+ "name", "Item",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getItemContainer2_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name"
+ });
+ addAnnotation
+ (getItemContainer2_Elements(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "lineOne"
+ });
+ addAnnotation
+ (itemElementBidirEClass,
+ source,
+ new String[] {
+ "name", "LineOne",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getItemElementBidir_Name(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "name"
+ });
+ }
+
+} //RefreshextraPackageImpl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.ecore b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.ecore
new file mode 100755
index 000000000..da365f998
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.ecore
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="refreshextra" nsURI="http://www.eclipse.org/emf/teneo/samples/issues/refreshextra"
+ nsPrefix="refreshextra">
+ <eClassifiers xsi:type="ecore:EClass" name="ItemContainer">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="Item"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1"
+ upperBound="-1" eType="#//ItemElement" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="lineOne"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemElement">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="LineOne"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemNonContainer">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="Item"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1"
+ upperBound="-1" eType="#//ItemElement" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="lineOne"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemNonContainer2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="Item"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1"
+ upperBound="-1" eType="#//ItemElement" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="lineOne"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemContainer2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="Item"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elements" lowerBound="1"
+ upperBound="-1" eType="#//ItemElementBidir" containment="true" resolveProxies="false"
+ eOpposite="#//ItemElementBidir/item">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="lineOne"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemElementBidir">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="LineOne"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="name"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="item" eType="#//ItemContainer2"
+ eOpposite="#//ItemContainer2/elements"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.genmodel b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.genmodel
new file mode 100644
index 000000000..104bdafba
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/model/refreshextra.genmodel
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.teneo.samples/src" modelPluginID="org.eclipse.emf.teneo.samples"
+ modelName="Refreshextra" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ operationReflection="true" importOrganizing="true">
+ <foreignModel>refreshextra.ecore</foreignModel>
+ <genPackages prefix="Refreshextra" basePackage="org.eclipse.emf.teneo.samples.issues"
+ resource="XML" disposableProviderFactory="true" ecorePackage="refreshextra.ecore#/">
+ <genClasses ecoreClass="refreshextra.ecore#//ItemContainer">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemContainer/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemContainer/elements"/>
+ </genClasses>
+ <genClasses ecoreClass="refreshextra.ecore#//ItemElement">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemElement/name"/>
+ </genClasses>
+ <genClasses ecoreClass="refreshextra.ecore#//ItemNonContainer">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemNonContainer/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemNonContainer/elements"/>
+ </genClasses>
+ <genClasses ecoreClass="refreshextra.ecore#//ItemNonContainer2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemNonContainer2/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemNonContainer2/elements"/>
+ </genClasses>
+ <genClasses ecoreClass="refreshextra.ecore#//ItemContainer2">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemContainer2/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemContainer2/elements"/>
+ </genClasses>
+ <genClasses ecoreClass="refreshextra.ecore#//ItemElementBidir">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute refreshextra.ecore#//ItemElementBidir/name"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference refreshextra.ecore#//ItemElementBidir/item"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraAdapterFactory.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraAdapterFactory.java
new file mode 100644
index 000000000..50bbad18c
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraAdapterFactory.java
@@ -0,0 +1,210 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage
+ * @generated
+ */
+public class RefreshextraAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static RefreshextraPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefreshextraAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = RefreshextraPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefreshextraSwitch<Adapter> modelSwitch =
+ new RefreshextraSwitch<Adapter>() {
+ @Override
+ public Adapter caseItemContainer(ItemContainer object) {
+ return createItemContainerAdapter();
+ }
+ @Override
+ public Adapter caseItemElement(ItemElement object) {
+ return createItemElementAdapter();
+ }
+ @Override
+ public Adapter caseItemNonContainer(ItemNonContainer object) {
+ return createItemNonContainerAdapter();
+ }
+ @Override
+ public Adapter caseItemNonContainer2(ItemNonContainer2 object) {
+ return createItemNonContainer2Adapter();
+ }
+ @Override
+ public Adapter caseItemContainer2(ItemContainer2 object) {
+ return createItemContainer2Adapter();
+ }
+ @Override
+ public Adapter caseItemElementBidir(ItemElementBidir object) {
+ return createItemElementBidirAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer <em>Item Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer
+ * @generated
+ */
+ public Adapter createItemContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement <em>Item Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElement
+ * @generated
+ */
+ public Adapter createItemElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer <em>Item Non Container</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer
+ * @generated
+ */
+ public Adapter createItemNonContainerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2 <em>Item Non Container2</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemNonContainer2
+ * @generated
+ */
+ public Adapter createItemNonContainer2Adapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2 <em>Item Container2</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemContainer2
+ * @generated
+ */
+ public Adapter createItemContainer2Adapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir <em>Item Element Bidir</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.ItemElementBidir
+ * @generated
+ */
+ public Adapter createItemElementBidirAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //RefreshextraAdapterFactory
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceFactoryImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceFactoryImpl.java
new file mode 100644
index 000000000..fd4a1e454
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceFactoryImpl.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.util.RefreshextraResourceImpl
+ * @generated
+ */
+public class RefreshextraResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefreshextraResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new RefreshextraResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //RefreshextraResourceFactoryImpl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceImpl.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceImpl.java
new file mode 100644
index 000000000..bbaacebb2
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraResourceImpl.java
@@ -0,0 +1,28 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.util.RefreshextraResourceFactoryImpl
+ * @generated
+ */
+public class RefreshextraResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public RefreshextraResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //RefreshextraResourceImpl
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraSwitch.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraSwitch.java
new file mode 100644
index 000000000..9eccd233d
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraSwitch.java
@@ -0,0 +1,215 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage
+ * @generated
+ */
+public class RefreshextraSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static RefreshextraPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefreshextraSwitch() {
+ if (modelPackage == null) {
+ modelPackage = RefreshextraPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case RefreshextraPackage.ITEM_CONTAINER: {
+ ItemContainer itemContainer = (ItemContainer)theEObject;
+ T result = caseItemContainer(itemContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RefreshextraPackage.ITEM_ELEMENT: {
+ ItemElement itemElement = (ItemElement)theEObject;
+ T result = caseItemElement(itemElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RefreshextraPackage.ITEM_NON_CONTAINER: {
+ ItemNonContainer itemNonContainer = (ItemNonContainer)theEObject;
+ T result = caseItemNonContainer(itemNonContainer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RefreshextraPackage.ITEM_NON_CONTAINER2: {
+ ItemNonContainer2 itemNonContainer2 = (ItemNonContainer2)theEObject;
+ T result = caseItemNonContainer2(itemNonContainer2);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RefreshextraPackage.ITEM_CONTAINER2: {
+ ItemContainer2 itemContainer2 = (ItemContainer2)theEObject;
+ T result = caseItemContainer2(itemContainer2);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case RefreshextraPackage.ITEM_ELEMENT_BIDIR: {
+ ItemElementBidir itemElementBidir = (ItemElementBidir)theEObject;
+ T result = caseItemElementBidir(itemElementBidir);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItemContainer(ItemContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItemElement(ItemElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item Non Container</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item Non Container</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItemNonContainer(ItemNonContainer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item Non Container2</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item Non Container2</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItemNonContainer2(ItemNonContainer2 object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item Container2</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item Container2</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItemContainer2(ItemContainer2 object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Item Element Bidir</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Item Element Bidir</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseItemElementBidir(ItemElementBidir object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //RefreshextraSwitch
diff --git a/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraXMLProcessor.java b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraXMLProcessor.java
new file mode 100644
index 000000000..80b7299c6
--- /dev/null
+++ b/tests/org.eclipse.emf.teneo.samples/src/org/eclipse/emf/teneo/samples/issues/refreshextra/util/RefreshextraXMLProcessor.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.emf.teneo.samples.issues.refreshextra.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.emf.teneo.samples.issues.refreshextra.RefreshextraPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RefreshextraXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefreshextraXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ RefreshextraPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the RefreshextraResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new RefreshextraResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new RefreshextraResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //RefreshextraXMLProcessor

Back to the top