diff options
Diffstat (limited to 'eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/orm.xml')
-rwxr-xr-x | eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/orm.xml | 262 |
1 files changed, 262 insertions, 0 deletions
diff --git a/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/orm.xml b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/orm.xml new file mode 100755 index 000000000..68fecd3f6 --- /dev/null +++ b/eclipselink/org.eclipse.emf.teneo.eclipselink.examples.library/src/META-INF/orm.xml @@ -0,0 +1,262 @@ +<?xml version="1.0" encoding="UTF-8"?> +<entity-mappings + xmlns="http://java.sun.com/xml/ns/persistence/orm" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" + version="1.0"> + + <!--=================================--> + <!-- Persistence unit level metadata --> + <!--=================================--> + + <persistence-unit-metadata> + <xml-mapping-metadata-complete/> + <persistence-unit-defaults> + <access>FIELD</access> + </persistence-unit-defaults> + </persistence-unit-metadata> + + <!--=============================--> + <!-- Mapping file level metadata --> + <!--=============================--> + + <package>org.eclipse.emf.teneo.eclipselink.examples.library.impl</package> + <mapped-superclass class="IdentifiableImpl" access="FIELD"> + <attributes> + <id name="id"> + <column name="ID"/> + <generated-value/> + </id> + <basic name="eContainerFeatureID"/> + <version name="version"> + </version> + </attributes> + </mapped-superclass> + + <!--=========--> + <!-- Queries --> + <!--=========--> + + + <!--=========================--> + <!-- Abstract class mappings --> + <!--=========================--> + + <!--=================--> + <!-- Entity mappings --> + <!--=================--> + + <entity name="Address" class="AddressImpl"> + <table name="EMFLIB_ADDRESS"/> + <attributes> + <basic name="town"/> + <one-to-one name="eContainer" target-entity="WriterImpl" mapped-by="address"> + </one-to-one> + </attributes> + </entity> + + <entity name="Book" class="BookImpl" access="FIELD"> + <table name="EMFLIB_BOOK"/> + <attributes> + <basic name="category"> + <enumerated>STRING</enumerated> + </basic> + <basic name="title"/> + <basic name="pages"/> + <many-to-one name="author" target-entity="WriterImpl"> + <join-column name="AUTHOR_ID"/> + <cascade> + <cascade-persist/> + <cascade-merge/> + <cascade-refresh/> + </cascade> + </many-to-one> + <one-to-many name="styles" target-entity="BookStylesMapEntryImpl" mapped-by="eContainer"> + <cascade> + <cascade-all/> + </cascade> + </one-to-many> + <one-to-one name="cover" target-entity="CoverImpl" mapped-by="eContainer"> + <cascade> + <cascade-all/> + </cascade> + </one-to-one> + <one-to-one name="eContainer" target-entity="StringToBookMapEntryImpl" mapped-by="value"> + <cascade> + <cascade-all/> + </cascade> + </one-to-one> + <one-to-one name="translator" target-entity="TranslatorImpl"> + <join-column name="TRANSLATOR_ID"/> + <cascade> + <cascade-persist/> + <cascade-merge/> + <cascade-refresh/> + </cascade> + </one-to-one> + </attributes> + </entity> + + <entity class="BookStylesMapEntryImpl" name="BookStylesMapEntry"> + <table name="EMFLIB_BOOK_STYLE_MAP"/> + <id-class class="org.eclipse.emf.teneo.eclipselink.util.MapEntryId"/> + <attribute-override name="id"> + <column name="BOOK_ID" updatable="false" insertable="false"/> + </attribute-override> + <attributes> + <id name="key"> + <column name="MAPKEY"/> + </id> + <many-to-one name="eContainer" target-entity="BookImpl"> + <join-column name="BOOK_ID"/> + </many-to-one> + <one-to-one name="value" target-entity="StyleImpl"> + <join-column name="STYLE_ID"/> + <cascade> + <cascade-persist/> + <cascade-merge/> + <cascade-refresh/> + </cascade> + </one-to-one> + <transient name="hash"/> + </attributes> + </entity> + + <entity name="Cover" class="CoverImpl"> + <table name="EMFLIB_COVER"/> + <attributes> + <basic name="colored"/> + <one-to-one name="eContainer" target-entity="BookImpl"> + <join-column name="ECONTAINER_ID"/> + </one-to-one> + </attributes> + </entity> + + <entity name="Library" class="LibraryImpl"> + <table name="EMFLIB_LIBRARY"/> + <attributes> + <basic name="name"/> + <one-to-many name="books" target-entity="StringToBookMapEntryImpl" mapped-by="eContainer"> + <cascade> + <cascade-all/> + </cascade> + </one-to-many> + <one-to-many name="writers" target-entity="WriterImpl" mapped-by="eContainer"> + <cascade> + <cascade-persist/> + <cascade-merge/> + <cascade-refresh/> + </cascade> + </one-to-many> + </attributes> + </entity> + + <entity name="Publisher" class="PublisherImpl"> + <table name="EMFLIB_PUBLISHER"/> + <attributes> + <basic name="name"/> + <many-to-many name="writers" target-entity="WriterImpl"> + <join-table name="EMFLIB_PUBLISHER_WRITER"> + <join-column insertable="true" name="publisher_id" nullable="false" unique="false" updatable="true"/> + <inverse-join-column insertable="true" name="writer_id" nullable="false" unique="false" updatable="true"/> + </join-table> + <cascade> + <cascade-persist/> + <cascade-merge/> + <cascade-refresh/> + </cascade> + </many-to-many> + </attributes> + </entity> + + <entity class="StringToBookMapEntryImpl" name="StringToBookMapEntry"> + <table name="EMFLIB_LIBRARY_BOOK_MAP"/> + <id-class class="org.eclipse.emf.teneo.eclipselink.util.MapEntryId"/> + <attribute-override name="id"> + <column name="LIBRARY_ID" updatable="false" insertable="false"/> + </attribute-override> + <attributes> + <id name="key"> + <column name="MAPKEY"/> + </id> + <many-to-one name="eContainer" target-entity="LibraryImpl"> + <join-column name="LIBRARY_ID"/> + </many-to-one> + <one-to-one name="value" target-entity="BookImpl"> + <join-column name="BOOK_ID" referenced-column-name="ID"/> + <cascade> + <cascade-persist/> + <cascade-merge/> + <cascade-refresh/> + </cascade> + </one-to-one> + <transient name="hash"/> + </attributes> + </entity> + + <entity name="Style" class="StyleImpl"> + <table name="EMFLIB_STYLE"/> + <attributes> + <basic name="name"/> + </attributes> + </entity> + + <entity name="Translator" class="TranslatorImpl"> + <table name="EMFLIB_TRANSLATOR"/> + <attributes> + <basic name="location"/> + <basic name="name"/> + <!-- address should be removed from Translator --> + <transient name="address"/> + </attributes> + </entity> + + <entity name="TypeWriter" class="TypeWriterImpl"> + <table name="EMFLIB_TYPEWRITER"/> + <attributes> + <basic name="maker"/> + <basic name="type"> + <enumerated>STRING</enumerated> + </basic> + </attributes> + </entity> + + <entity name="Writer" class="WriterImpl"> + <table name="EMFLIB_WRITER"/> + <attributes> + <basic name="name"/> + <many-to-one name="eContainer" target-entity="LibraryImpl"> + <join-column name="ECONTAINER_ID"/> + </many-to-one> + <one-to-many name="books" mapped-by="author" target-entity="BookImpl"> + <cascade> + <cascade-all/> + </cascade> + </one-to-many> + <one-to-one name="address" target-entity="AddressImpl" > + <join-column name="ADDRESS_ID"/> + <cascade> + <cascade-persist/> + <cascade-merge/> + <cascade-refresh/> + </cascade> + </one-to-one> + <many-to-many name="publishers" target-entity="PublisherImpl" mapped-by="writers"> + <cascade> + <cascade-persist/> + <cascade-merge/> + <cascade-refresh/> + </cascade> + </many-to-many> + <many-to-many name="typewriters" target-entity="TypeWriterImpl"> + <join-table name="EMFLIB_WRITER_TYPEWRITER"/> + <cascade> + <cascade-persist/> + <cascade-merge/> + <cascade-refresh/> + </cascade> + </many-to-many> + </attributes> + </entity> + +</entity-mappings>
\ No newline at end of file |