Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc) » OneToMany and index tables
| | | | | | |
Re: OneToMany and index tables [message #73855 is a reply to message #73763] |
Wed, 07 March 2007 00:32 |
Martin Taal Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Sandro,
Okay, just to get it clear for me, what exception/result did you get with this parameter setting:
- PersistenceOptions.INHERITANCE_MAPPING to SINGLE (so not set it to JOINED)
- and no OneToMany annotation
and what exception/result did you get in this case:
- PersistenceOptions.INHERITANCE_MAPPING to JOINED
- and no OneToMany annotation
I guess that the 32 join tables issues arises during a query? If so then in general this is not
always preventable (it depends on your model/query etc.).
I looked at the ecore. Instead of setting the single table inheritance globally you can also set it
by inheritance hierarchy. For example you can set a inheritance annotation (setting them to single
table) in the CSMTYPE and CSMValueSet EClasses (see the elver.org website for the format). This will
ensure that these hierarchies are stored in one table. Then if you set the global option to JOINED
you will probably get multiple index tables with each containing less records.
gr. Martin
Sandro Weiser wrote:
> Martin Taal schrieb:
>> Can you translate:
>> Übergeordn. Schlüssel nicht gefunden
> oh, sorry:
> ORA-02291: Verstoß gegen Integritätsregel
> (REMARCADMIN.FK869ECAAF19A9816). Übergeordn. Schlüssel nicht gefunden
> means translated:
> ORA-02291: integrity constraint (REMARCADMIN.FK869ECAAF19A9816) violated
> - parent key not found
>
>> On which relation in the ecore did you put the onetomany?
>
> on all references with upperbound="-1" (like this: <eStructuralFeatures
> xsi:type="ecore:EReference" name="types" upperBound="-1"
> eType="#//CSMType" defaultValueLiteral="" containment="true">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@OneToMany(indexed=false
> unique=false)"/>
> </eAnnotations>
> </eStructuralFeatures>
> )
>
>> How many records are there in the (big) index tables?
>> Overall there should be as many records as there are instantiated
>> relations in the model. So if the number of records is 50000 while
>> there are only 10000 real associations then something is wrong.
>> Otherwise it is just as it should be.
>
> With the property PersistenceOptions.INHERITANCE_MAPPING set to "JOINED"
> we get more than 32 Joint Tables. Bad for MySql which has a limit on
> this. Without the property all the data is stored in the table of the
> base class. Now we have 300000 rows for the data. The option
> @OneToMany(indexed=false unique=false) leads to two "index"-tables with
> a little less than 300000 records.
>
>>
>> If your relation is like a containment relation or if it is a real
>> onetomany (from A to B, A can have many B's but B can only be used in
>> one A and only once) then it can be done using a foreign key. Using a
>> foreign key is the standard for Teneo (there is an option to control
>> this: PersistenceOptions.JOIN_TABLE_FOR_NON_CONTAINED_ASSOCIATIONS ).
>>
>> gr. Martin
>
> The main problem is on oracle with the option
> PersistenceOptions.INHERITANCE_MAPPING set to "JOINED" teneo creates the
> tables, foreign keys and so on without an error. But if we try to
> populate the model we get the error (ORA-02291: integrity constraint
> (REMARCADMIN.FK869ECAAF19A9816) violated - parent key not found).
> This is what I found on the web :
> Cause: A foreign key value has no matching primary key value.
> Action: Delete the foreign key or add a matching primary key.
>
> Sandro
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
| | | | | | | | | | | |
Re: OneToMany and index tables [message #74183 is a reply to message #74162] |
Thu, 08 March 2007 13:36 |
Martin Taal Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Here it is:
PersistenceOptions.UPDATE_SCHEMA
set this to false.
See this page:
http://www.elver.org/hibernate/options.html
gr. Martin
Sandro Weiser wrote:
> Martin Taal schrieb:
>> My experience with this type of error: 'could not get table metadata'
>> is that it is caused by the driver (or autorisations?) not allowing
>> hibernate to get database metadata (which tables are there etc.).
> interesting
>
>> The schema update can be prevented by setting the option:
> which option?
>
>> What is your current setting (the one resulting in zero errors)
>> related to inheritance (globally and the specific annotations)?
> hibernate.connection.driver_class="oracle.jdbc.driver.OracleDriver "
> hibernate.dialect="org.hibernate.dialect.OracleDialect"
> hibernate.connection.url="jdbc:oracle:thin://databaseURL/dataStoreName"
> hibernate.connection.pool_size", "1");
> hibernate.connection.autocommit", "false");
> hibernate.show_sql", "true");
> hibernate.format_sql", "true");
>
> PersistenceOptions.SQL_CASE_STRATEGY, "none"
> PersistenceOptions.JOIN_TABLE_NAMING_STRATEGY, "unique"
> PersistenceOptions.MAXIMUM_SQL_NAME_LENGTH, "30"
>
> ecore:
> <?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="datacore"
> nsURI="http://www.arcsolutions.de/remarc/" nsPrefix="remarc">
> <eClassifiers xsi:type="ecore:EClass" name="CSMXML">
> <eOperations name="createCSMInstance" eType="#//CSMInstance">
> <eParameters name="csmClass" lowerBound="1" eType="#//CSMClass"/>
> </eOperations>
> <eOperations name="createCSMClass" eType="#//CSMClass">
> <eParameters name="factory" eType="ecore:EClass
> http://www.eclipse.org/emf/2002/Ecore#//EFactory"/>
> <eParameters name="eClass" eType="ecore:EClass
> http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
> </eOperations>
> <eStructuralFeatures xsi:type="ecore:EReference" name="elements"
> upperBound="-1"
> eType="#//CSMElement" containment="true"
> eOpposite="#//CSMElement/csmXML"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="types"
> upperBound="-1"
> eType="#//CSMType" defaultValueLiteral="" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMElement" abstract="true">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@Inheritance(strategy=JOINED)"/>
> </eAnnotations>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="referencedElements" upperBound="-1"
> eType="#//CSMElement"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="csmXML"
> eType="#//CSMXML"
> eOpposite="#//CSMXML/elements"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMMetaElement"
> abstract="true" eSuperTypes="#//CSMElement">
> <eOperations name="putUserProperty">
> <eParameters name="key" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="getUserProperty" eType="#//UserProperty">
> <eParameters name="key" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="ID"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="userProperties" upperBound="-1"
> eType="#//UserProperty" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMClass" abstract="true"
> eSuperTypes="#//CSMMetaElement">
> <eOperations name="addCharacteristicsDefinition"
> eType="#//CSMCharacteristicDefinition">
> <eParameters name="type" eType="#//CSMType"/>
> </eOperations>
> <eOperations name="createCSMInstance" eType="#//CSMInstance"/>
> <eOperations name="removeCharacteristicsDefinition">
> <eParameters name="characteristicDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> </eOperations>
> <eOperations name="createCSMInstance" eType="#//CSMInstance">
> <eParameters name="owner" eType="#//CSMXML"/>
> </eOperations>
> <eOperations name="deleteCharacteristicDefinition">
> <eParameters name="characteristicDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> </eOperations>
> <eOperations name="deleteCSMInstance">
> <eParameters name="csmInstance" eType="#//CSMInstance"/>
> </eOperations>
> <eOperations name="removeCSMInstance">
> <eParameters name="csmIntsance" eType="#//CSMInstance"/>
> </eOperations>
> <eOperations name="getCSMCharacteristicDefinition"
> eType="#//CSMCharacteristicDefinition">
> <eParameters name="id" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="getCSMCharacteristicDefinition"
> eType="#//CSMCharacteristicDefinition">
> <eParameters name="index" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> </eOperations>
> <eOperations name="deleteAllCSMInstances"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="csmCharacteristicDefinitions"
> upperBound="-1" eType="#//CSMCharacteristicDefinition"
> containment="true"
> eOpposite="#//CSMCharacteristicDefinition/csmClass"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="instances"
> upperBound="-1"
> eType="#//CSMInstance"
> eOpposite="#//CSMInstance/containingCSMClass"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="validCSMTypes" upperBound="-1"
> eType="#//CSMType"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="description"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@Type(type="text")"/>
> </eAnnotations>
> </eStructuralFeatures>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="datasourceDefinition" eType="#//DataSourceDefinitions"
> defaultValueLiteral="" containment="true"
> eOpposite="#//DataSourceDefinitions/ownerClass"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="keyCharachteristicDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="classRepresentations" upperBound="-1"
> eType="#//CSMRepresentation" containment="true"
> eOpposite="#//CSMRepresentation/ownerCSMClass"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass"
> name="CSMCharacteristicDefinition" abstract="true"
> eSuperTypes="#//CSMMetaElement">
> <eOperations name="createCSMCharacteristicValueContainer"
> eType="#//CSMCharacteristicValueContainer">
> <eParameters name="csmInstance" eType="#//CSMInstance"/>
> </eOperations>
> <eOperations name="deleteCSMCharactersitcValueContainer">
> <eParameters name="valueContainer"
> eType="#//CSMCharacteristicValueContainer"/>
> </eOperations>
> <eOperations name="deleteAllCSMCahracteristicValueContainer"/>
> <eOperations name="getCSMCahracteristicValueContainer"
> eType="#//CSMCharacteristicValueContainer">
> <eParameters name="csmInstance" eType="#//CSMInstance"/>
> </eOperations>
> <eOperations name="containsOnlyUniqueValues" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eOperations name="isKey" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="csmClass"
> eType="#//CSMClass"
> eOpposite="#//CSMClass/csmCharacteristicDefinitions"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="csmCharacteristicType"
> eType="#//CSMType"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="userDefined"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="Name"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="valueContainer" upperBound="-1"
> eType="#//CSMCharacteristicValueContainer"
> eOpposite="#//CSMCharacteristicValueContainer/dataType">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@OneToMany(unique=false)"/>
> </eAnnotations>
> </eStructuralFeatures>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="aliasName"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="index"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="dataSource"
> eType="#//ColumnDefinition"
> defaultValueLiteral="" containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute"
> name="freeParameter" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
> defaultValueLiteral="false"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMInstance"
> eSuperTypes="#//CSMObject">
> <eOperations name="getCSMCharacteristicValueContainer"
> eType="#//CSMCharacteristicValueContainer">
> <eParameters name="characteristicDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> </eOperations>
> <eOperations name="createCSMCharacteristicValueContainer"
> eType="#//CSMCharacteristicValueContainer">
> <eParameters name="characteristcDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> </eOperations>
> <eOperations name="deleteCSMCharactersitcValueContainer">
> <eParameters name="valueContainer"
> eType="#//CSMCharacteristicValueContainer"/>
> </eOperations>
> <eOperations name="deleteAllCSMCharacteristicValueContainer"/>
> <eOperations name="isValid" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eOperations name="allNotUserDefinedContainerSet"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="csmValueContainer" upperBound="-1"
> eType="#//CSMCharacteristicValueContainer" containment="true"
> eOpposite="#//CSMCharacteristicValueContainer/csmInstance">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@OneToMany(unique=false)"/>
> </eAnnotations>
> </eStructuralFeatures>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="csmReprasentation" upperBound="-1"
> eType="#//CSMRepresentationRoot" containment="true"
> eOpposite="#//CSMRepresentationRoot/csmInstance"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="containingCSMClass" eType="#//CSMClass"
> eOpposite="#//CSMClass/instances"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass"
> name="CSMCharacteristicValueContainer" eSuperTypes="#//CSMObject">
> <eOperations name="isConcreteValueSet" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eOperations name="setCSMConcreteValue" eType="#//CSMValue">
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="addCSMValueToValueSet">
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="addIntervalToValueSet">
> <eParameters name="min" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="max" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="includeMax" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eParameters name="includeMin" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eParameters name="increment" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="clearValueSet"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
> defaultValueLiteral="false"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="csmInstance"
> eType="#//CSMInstance"
> eOpposite="#//CSMInstance/csmValueContainer"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="concreteValue" eType="#//CSMValue"
> containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="valueSet"
> upperBound="-1"
> eType="#//CSMValueSet" containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType"
> eType="#//CSMCharacteristicDefinition"
> eOpposite="#//CSMCharacteristicDefinition/valueContainer"/ >
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMValueSet" abstract="true">
> <eOperations name="getStringReprasentation" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType"
> eType="#//CSMType"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMType" abstract="true">
> <eOperations name="createCSMValue" eType="#//CSMValue">
> <eParameters name="valueStringReprasentation" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="isValid" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="createCSMInterval" eType="#//Interval">
> <eParameters name="min" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="max" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="includeMin" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eParameters name="includeMax" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eParameters name="increment" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMObject" abstract="true"
> eSuperTypes="#//CSMElement"/>
> <eClassifiers xsi:type="ecore:EClass" name="CSMRepresentationRoot">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="modelName"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="csmInstance"
> eType="#//CSMInstance"
> eOpposite="#//CSMInstance/csmReprasentation"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="representationTree" eType="#//CSMRepresentation"
> defaultValueLiteral="" containment="true"
> eOpposite="#//CSMRepresentation/representationRoot"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="valueDescriptors" upperBound="-1"
> eType="#//CSMRepresentationRootDescriptor" containment="true"
> eOpposite="#//CSMRepresentationRootDescriptor/representationRoot "/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMValue" abstract="true"
> eSuperTypes="#//CSMValueSet">
> <eOperations name="setValueFromString" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="Interval"
> eSuperTypes="#//CSMValueSet">
> <eStructuralFeatures xsi:type="ecore:EReference" name="min"
> eType="#//CSMValue"
> containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="max"
> eType="#//CSMValue"
> containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="includeMin"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="includeMax"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="kind"
> eType="#//CSMValue"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="increment"
> eType="#//CSMValue"
> containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="UserProperty">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMRepresentation"
> abstract="true">
> <eOperations name="scrap"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
> eType="#//CSMRepresentation"
> eOpposite="#//CSMRepresentation/children"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
> upperBound="-1"
> eType="#//CSMRepresentation" containment="true"
> eOpposite="#//CSMRepresentation/parent"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="representationRoot" eType="#//CSMRepresentationRoot"
> eOpposite="#//CSMRepresentationRoot/representationTree"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="ownerCSMClass" eType="#//CSMClass"
> eOpposite="#//CSMClass/classRepresentations"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="DataSourceDefinitions">
> <eStructuralFeatures xsi:type="ecore:EReference" name="ownerClass"
> eType="#//CSMClass"
> eOpposite="#//CSMClass/datasourceDefinition"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="report"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="ColumnDefinition">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnName"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="datasetName"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass"
> name="CSMRepresentationRootDescriptor">
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="representationRoot" eType="#//CSMRepresentationRoot"
> eOpposite="#//CSMRepresentationRoot/valueDescriptors"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute"
> name="characteristicID" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute"
> name="characteriticValue" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eSubpackages name="types"
> nsURI="http://www.arcsolutions.de/remarc/types" nsPrefix="types">
> <eClassifiers xsi:type="ecore:EClass" name="StringType"
> eSuperTypes="#//CSMType"/>
> <eClassifiers xsi:type="ecore:EClass" name="DoubleType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="StringValue"
> eSuperTypes="#//CSMValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="DoubleValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMNumberType"
> abstract="true" eSuperTypes="#//CSMType"/>
> <eClassifiers xsi:type="ecore:EClass" name="CSMNumberValue"
> abstract="true" eSuperTypes="#//CSMValue"/>
> <eClassifiers xsi:type="ecore:EClass" name="BooleanValue"
> eSuperTypes="#//CSMValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="BooleanType"
> eSuperTypes="#//CSMType"/>
> <eClassifiers xsi:type="ecore:EClass" name="IntegerValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="IntegerType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="ByteValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EByte"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="ByteType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="FloatValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="FloatType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="LongValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="LongType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="ShortValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EShort"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="ShortType"
> eSuperTypes="#//types/CSMNumberType"/>
> </eSubpackages>
> <eSubpackages name="represantations"
> nsURI="http://www.arcsolutions.de/remarc/represantations"
> nsPrefix="represantations">
> <eClassifiers xsi:type="ecore:EClass" name="CSMFileRepresentation"
> eSuperTypes="#//CSMRepresentation">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="location"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMUrlRepresentation"
> eSuperTypes="#//CSMRepresentation">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="url"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> </eSubpackages>
> </ecore:EPackage>
>
>> I saw that hibernate also has a 9i/10g dialect for Oracle but I am not
>> sure if it applies to your case.
> its an oracle 8.1.6 database
> setting dialect to org.hibernate.dialect.Oracle9Dialect leads to
> exceptions: ORA-00907: missing right parenthesis
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
| | | |
Re: OneToMany and index tables [message #74760 is a reply to message #74740] |
Fri, 09 March 2007 19:08 |
Martin Taal Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Hi Sandro,
I think it is best if you send me a testcase and the ecore and the hibernate and persistence
properties. Then I can try reproduce your error.
gr. Martin
Sandro Weiser wrote:
> The errors are gone with the modified ecore, but Elements in
> CSMCharacteristicValueContainer aren't found anymore.
> Any suggestions? I absolutely have no clue. In the log there are to WARN
> for the OneToMany Annotations.
> Why do I get the exceptions
> ORA-02291: integrity constraint (REMARCADMIN.FK869ECAAF19A9816) violated
> - parent key not found
> without the Annotations ???????????????????????????
>
> Please help
>
>>> What is your current setting (the one resulting in zero errors)
>>> related to inheritance (globally and the specific annotations)?
>> hibernate.connection.driver_class="oracle.jdbc.driver.OracleDriver "
>> hibernate.dialect="org.hibernate.dialect.OracleDialect"
>> hibernate.connection.url="jdbc:oracle:thin://databaseURL/dataStoreName"
>> hibernate.connection.pool_size", "1");
>> hibernate.connection.autocommit", "false");
>> hibernate.show_sql", "true");
>> hibernate.format_sql", "true");
>>
>> PersistenceOptions.SQL_CASE_STRATEGY, "none"
>> PersistenceOptions.JOIN_TABLE_NAMING_STRATEGY, "unique"
>> PersistenceOptions.MAXIMUM_SQL_NAME_LENGTH, "30"
>>
>> ecore:
>> <?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="datacore"
>> nsURI="http://www.arcsolutions.de/remarc/" nsPrefix="remarc">
>> <eClassifiers xsi:type="ecore:EClass" name="CSMXML">
>> <eOperations name="createCSMInstance" eType="#//CSMInstance">
>> <eParameters name="csmClass" lowerBound="1" eType="#//CSMClass"/>
>> </eOperations>
>> <eOperations name="createCSMClass" eType="#//CSMClass">
>> <eParameters name="factory" eType="ecore:EClass
>> http://www.eclipse.org/emf/2002/Ecore#//EFactory"/>
>> <eParameters name="eClass" eType="ecore:EClass
>> http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
>> </eOperations>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="elements"
>> upperBound="-1"
>> eType="#//CSMElement" containment="true"
>> eOpposite="#//CSMElement/csmXML"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="types"
>> upperBound="-1"
>> eType="#//CSMType" defaultValueLiteral="" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMElement"
>> abstract="true">
>> <eAnnotations source="teneo.jpa">
>> <details key="appinfo" value="@Inheritance(strategy=JOINED)"/>
>> </eAnnotations>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="referencedElements" upperBound="-1"
>> eType="#//CSMElement"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="csmXML"
>> eType="#//CSMXML"
>> eOpposite="#//CSMXML/elements"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMMetaElement"
>> abstract="true" eSuperTypes="#//CSMElement">
>> <eOperations name="putUserProperty">
>> <eParameters name="key" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="getUserProperty" eType="#//UserProperty">
>> <eParameters name="key" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="ID"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="userProperties" upperBound="-1"
>> eType="#//UserProperty" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMClass"
>> abstract="true" eSuperTypes="#//CSMMetaElement">
>> <eOperations name="addCharacteristicsDefinition"
>> eType="#//CSMCharacteristicDefinition">
>> <eParameters name="type" eType="#//CSMType"/>
>> </eOperations>
>> <eOperations name="createCSMInstance" eType="#//CSMInstance"/>
>> <eOperations name="removeCharacteristicsDefinition">
>> <eParameters name="characteristicDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> </eOperations>
>> <eOperations name="createCSMInstance" eType="#//CSMInstance">
>> <eParameters name="owner" eType="#//CSMXML"/>
>> </eOperations>
>> <eOperations name="deleteCharacteristicDefinition">
>> <eParameters name="characteristicDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> </eOperations>
>> <eOperations name="deleteCSMInstance">
>> <eParameters name="csmInstance" eType="#//CSMInstance"/>
>> </eOperations>
>> <eOperations name="removeCSMInstance">
>> <eParameters name="csmIntsance" eType="#//CSMInstance"/>
>> </eOperations>
>> <eOperations name="getCSMCharacteristicDefinition"
>> eType="#//CSMCharacteristicDefinition">
>> <eParameters name="id" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="getCSMCharacteristicDefinition"
>> eType="#//CSMCharacteristicDefinition">
>> <eParameters name="index" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> </eOperations>
>> <eOperations name="deleteAllCSMInstances"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmCharacteristicDefinitions"
>> upperBound="-1" eType="#//CSMCharacteristicDefinition"
>> containment="true"
>> eOpposite="#//CSMCharacteristicDefinition/csmClass"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="instances"
>> upperBound="-1"
>> eType="#//CSMInstance"
>> eOpposite="#//CSMInstance/containingCSMClass"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="validCSMTypes" upperBound="-1"
>> eType="#//CSMType"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="description" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString">
>> <eAnnotations source="teneo.jpa">
>> <details key="appinfo" value="@Type(type="text")"/>
>> </eAnnotations>
>> </eStructuralFeatures>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="datasourceDefinition" eType="#//DataSourceDefinitions"
>> defaultValueLiteral="" containment="true"
>> eOpposite="#//DataSourceDefinitions/ownerClass"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="keyCharachteristicDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="classRepresentations" upperBound="-1"
>> eType="#//CSMRepresentation" containment="true"
>> eOpposite="#//CSMRepresentation/ownerCSMClass"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass"
>> name="CSMCharacteristicDefinition" abstract="true"
>> eSuperTypes="#//CSMMetaElement">
>> <eOperations name="createCSMCharacteristicValueContainer"
>> eType="#//CSMCharacteristicValueContainer">
>> <eParameters name="csmInstance" eType="#//CSMInstance"/>
>> </eOperations>
>> <eOperations name="deleteCSMCharactersitcValueContainer">
>> <eParameters name="valueContainer"
>> eType="#//CSMCharacteristicValueContainer"/>
>> </eOperations>
>> <eOperations name="deleteAllCSMCahracteristicValueContainer"/>
>> <eOperations name="getCSMCahracteristicValueContainer"
>> eType="#//CSMCharacteristicValueContainer">
>> <eParameters name="csmInstance" eType="#//CSMInstance"/>
>> </eOperations>
>> <eOperations name="containsOnlyUniqueValues"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eOperations name="isKey" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="csmClass"
>> eType="#//CSMClass"
>> eOpposite="#//CSMClass/csmCharacteristicDefinitions"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmCharacteristicType"
>> eType="#//CSMType"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="userDefined" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="Name"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="valueContainer" upperBound="-1"
>> eType="#//CSMCharacteristicValueContainer"
>> eOpposite="#//CSMCharacteristicValueContainer/dataType">
>> <eAnnotations source="teneo.jpa">
>> <details key="appinfo" value="@OneToMany(unique=false)"/>
>> </eAnnotations>
>> </eStructuralFeatures>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="aliasName"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="index"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="dataSource"
>> eType="#//ColumnDefinition"
>> defaultValueLiteral="" containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="freeParameter" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
>> defaultValueLiteral="false"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMInstance"
>> eSuperTypes="#//CSMObject">
>> <eOperations name="getCSMCharacteristicValueContainer"
>> eType="#//CSMCharacteristicValueContainer">
>> <eParameters name="characteristicDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> </eOperations>
>> <eOperations name="createCSMCharacteristicValueContainer"
>> eType="#//CSMCharacteristicValueContainer">
>> <eParameters name="characteristcDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> </eOperations>
>> <eOperations name="deleteCSMCharactersitcValueContainer">
>> <eParameters name="valueContainer"
>> eType="#//CSMCharacteristicValueContainer"/>
>> </eOperations>
>> <eOperations name="deleteAllCSMCharacteristicValueContainer"/>
>> <eOperations name="isValid" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eOperations name="allNotUserDefinedContainerSet"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmValueContainer" upperBound="-1"
>> eType="#//CSMCharacteristicValueContainer" containment="true"
>> eOpposite="#//CSMCharacteristicValueContainer/csmInstance">
>> <eAnnotations source="teneo.jpa">
>> <details key="appinfo" value="@OneToMany(unique=false)"/>
>> </eAnnotations>
>> </eStructuralFeatures>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmReprasentation" upperBound="-1"
>> eType="#//CSMRepresentationRoot" containment="true"
>> eOpposite="#//CSMRepresentationRoot/csmInstance"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="containingCSMClass" eType="#//CSMClass"
>> eOpposite="#//CSMClass/instances"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass"
>> name="CSMCharacteristicValueContainer" eSuperTypes="#//CSMObject">
>> <eOperations name="isConcreteValueSet" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eOperations name="setCSMConcreteValue" eType="#//CSMValue">
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="addCSMValueToValueSet">
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="addIntervalToValueSet">
>> <eParameters name="min" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="max" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="includeMax" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eParameters name="includeMin" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eParameters name="increment" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="clearValueSet"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
>> defaultValueLiteral="false"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmInstance" eType="#//CSMInstance"
>> eOpposite="#//CSMInstance/csmValueContainer"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="concreteValue" eType="#//CSMValue"
>> containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="valueSet"
>> upperBound="-1"
>> eType="#//CSMValueSet" containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType"
>> eType="#//CSMCharacteristicDefinition"
>> eOpposite="#//CSMCharacteristicDefinition/valueContainer"/ >
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMValueSet"
>> abstract="true">
>> <eOperations name="getStringReprasentation" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType"
>> eType="#//CSMType"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMType" abstract="true">
>> <eOperations name="createCSMValue" eType="#//CSMValue">
>> <eParameters name="valueStringReprasentation" lowerBound="1"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="isValid" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="createCSMInterval" eType="#//Interval">
>> <eParameters name="min" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="max" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="includeMin" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eParameters name="includeMax" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eParameters name="increment" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMObject"
>> abstract="true" eSuperTypes="#//CSMElement"/>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMRepresentationRoot">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="modelName"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmInstance" eType="#//CSMInstance"
>> eOpposite="#//CSMInstance/csmReprasentation"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="representationTree" eType="#//CSMRepresentation"
>> defaultValueLiteral="" containment="true"
>> eOpposite="#//CSMRepresentation/representationRoot"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="valueDescriptors" upperBound="-1"
>> eType="#//CSMRepresentationRootDescriptor" containment="true"
>> eOpposite="#//CSMRepresentationRootDescriptor/representationRoot "/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMValue"
>> abstract="true" eSuperTypes="#//CSMValueSet">
>> <eOperations name="setValueFromString" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="Interval"
>> eSuperTypes="#//CSMValueSet">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="min"
>> eType="#//CSMValue"
>> containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="max"
>> eType="#//CSMValue"
>> containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="includeMin"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="includeMax"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="kind"
>> eType="#//CSMValue"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="increment"
>> eType="#//CSMValue"
>> containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="UserProperty">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMRepresentation"
>> abstract="true">
>> <eOperations name="scrap"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
>> eType="#//CSMRepresentation"
>> eOpposite="#//CSMRepresentation/children"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
>> upperBound="-1"
>> eType="#//CSMRepresentation" containment="true"
>> eOpposite="#//CSMRepresentation/parent"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="representationRoot" eType="#//CSMRepresentationRoot"
>> eOpposite="#//CSMRepresentationRoot/representationTree"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="ownerCSMClass" eType="#//CSMClass"
>> eOpposite="#//CSMClass/classRepresentations"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="DataSourceDefinitions">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="ownerClass"
>> eType="#//CSMClass"
>> eOpposite="#//CSMClass/datasourceDefinition"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="report"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="ColumnDefinition">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnName"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="datasetName" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass"
>> name="CSMRepresentationRootDescriptor">
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="representationRoot" eType="#//CSMRepresentationRoot"
>> eOpposite="#//CSMRepresentationRoot/valueDescriptors"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="characteristicID" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="characteriticValue" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eSubpackages name="types"
>> nsURI="http://www.arcsolutions.de/remarc/types" nsPrefix="types">
>> <eClassifiers xsi:type="ecore:EClass" name="StringType"
>> eSuperTypes="#//CSMType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="DoubleType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="StringValue"
>> eSuperTypes="#//CSMValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="DoubleValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMNumberType"
>> abstract="true" eSuperTypes="#//CSMType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMNumberValue"
>> abstract="true" eSuperTypes="#//CSMValue"/>
>> <eClassifiers xsi:type="ecore:EClass" name="BooleanValue"
>> eSuperTypes="#//CSMValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="BooleanType"
>> eSuperTypes="#//CSMType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="IntegerValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="IntegerType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="ByteValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EByte"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="ByteType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="FloatValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="FloatType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="LongValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="LongType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="ShortValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EShort"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="ShortType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> </eSubpackages>
>> <eSubpackages name="represantations"
>> nsURI="http://www.arcsolutions.de/remarc/represantations"
>> nsPrefix="represantations">
>> <eClassifiers xsi:type="ecore:EClass" name="CSMFileRepresentation"
>> eSuperTypes="#//CSMRepresentation">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="location"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMUrlRepresentation"
>> eSuperTypes="#//CSMRepresentation">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="url"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> </eSubpackages>
>> </ecore:EPackage>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
| | | | | | | |
Re: OneToMany and index tables [message #603181 is a reply to message #73763] |
Wed, 07 March 2007 00:32 |
Martin Taal Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Sandro,
Okay, just to get it clear for me, what exception/result did you get with this parameter setting:
- PersistenceOptions.INHERITANCE_MAPPING to SINGLE (so not set it to JOINED)
- and no OneToMany annotation
and what exception/result did you get in this case:
- PersistenceOptions.INHERITANCE_MAPPING to JOINED
- and no OneToMany annotation
I guess that the 32 join tables issues arises during a query? If so then in general this is not
always preventable (it depends on your model/query etc.).
I looked at the ecore. Instead of setting the single table inheritance globally you can also set it
by inheritance hierarchy. For example you can set a inheritance annotation (setting them to single
table) in the CSMTYPE and CSMValueSet EClasses (see the elver.org website for the format). This will
ensure that these hierarchies are stored in one table. Then if you set the global option to JOINED
you will probably get multiple index tables with each containing less records.
gr. Martin
Sandro Weiser wrote:
> Martin Taal schrieb:
>> Can you translate:
>> Übergeordn. Schlüssel nicht gefunden
> oh, sorry:
> ORA-02291: Verstoß gegen Integritätsregel
> (REMARCADMIN.FK869ECAAF19A9816). Übergeordn. Schlüssel nicht gefunden
> means translated:
> ORA-02291: integrity constraint (REMARCADMIN.FK869ECAAF19A9816) violated
> - parent key not found
>
>> On which relation in the ecore did you put the onetomany?
>
> on all references with upperbound="-1" (like this: <eStructuralFeatures
> xsi:type="ecore:EReference" name="types" upperBound="-1"
> eType="#//CSMType" defaultValueLiteral="" containment="true">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@OneToMany(indexed=false
> unique=false)"/>
> </eAnnotations>
> </eStructuralFeatures>
> )
>
>> How many records are there in the (big) index tables?
>> Overall there should be as many records as there are instantiated
>> relations in the model. So if the number of records is 50000 while
>> there are only 10000 real associations then something is wrong.
>> Otherwise it is just as it should be.
>
> With the property PersistenceOptions.INHERITANCE_MAPPING set to "JOINED"
> we get more than 32 Joint Tables. Bad for MySql which has a limit on
> this. Without the property all the data is stored in the table of the
> base class. Now we have 300000 rows for the data. The option
> @OneToMany(indexed=false unique=false) leads to two "index"-tables with
> a little less than 300000 records.
>
>>
>> If your relation is like a containment relation or if it is a real
>> onetomany (from A to B, A can have many B's but B can only be used in
>> one A and only once) then it can be done using a foreign key. Using a
>> foreign key is the standard for Teneo (there is an option to control
>> this: PersistenceOptions.JOIN_TABLE_FOR_NON_CONTAINED_ASSOCIATIONS ).
>>
>> gr. Martin
>
> The main problem is on oracle with the option
> PersistenceOptions.INHERITANCE_MAPPING set to "JOINED" teneo creates the
> tables, foreign keys and so on without an error. But if we try to
> populate the model we get the error (ORA-02291: integrity constraint
> (REMARCADMIN.FK869ECAAF19A9816) violated - parent key not found).
> This is what I found on the web :
> Cause: A foreign key value has no matching primary key value.
> Action: Delete the foreign key or add a matching primary key.
>
> Sandro
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
| | | | | | | | | | | |
Re: OneToMany and index tables [message #603263 is a reply to message #74162] |
Thu, 08 March 2007 13:36 |
Martin Taal Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Here it is:
PersistenceOptions.UPDATE_SCHEMA
set this to false.
See this page:
http://www.elver.org/hibernate/options.html
gr. Martin
Sandro Weiser wrote:
> Martin Taal schrieb:
>> My experience with this type of error: 'could not get table metadata'
>> is that it is caused by the driver (or autorisations?) not allowing
>> hibernate to get database metadata (which tables are there etc.).
> interesting
>
>> The schema update can be prevented by setting the option:
> which option?
>
>> What is your current setting (the one resulting in zero errors)
>> related to inheritance (globally and the specific annotations)?
> hibernate.connection.driver_class="oracle.jdbc.driver.OracleDriver "
> hibernate.dialect="org.hibernate.dialect.OracleDialect"
> hibernate.connection.url="jdbc:oracle:thin://databaseURL/dataStoreName"
> hibernate.connection.pool_size", "1");
> hibernate.connection.autocommit", "false");
> hibernate.show_sql", "true");
> hibernate.format_sql", "true");
>
> PersistenceOptions.SQL_CASE_STRATEGY, "none"
> PersistenceOptions.JOIN_TABLE_NAMING_STRATEGY, "unique"
> PersistenceOptions.MAXIMUM_SQL_NAME_LENGTH, "30"
>
> ecore:
> <?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="datacore"
> nsURI="http://www.arcsolutions.de/remarc/" nsPrefix="remarc">
> <eClassifiers xsi:type="ecore:EClass" name="CSMXML">
> <eOperations name="createCSMInstance" eType="#//CSMInstance">
> <eParameters name="csmClass" lowerBound="1" eType="#//CSMClass"/>
> </eOperations>
> <eOperations name="createCSMClass" eType="#//CSMClass">
> <eParameters name="factory" eType="ecore:EClass
> http://www.eclipse.org/emf/2002/Ecore#//EFactory"/>
> <eParameters name="eClass" eType="ecore:EClass
> http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
> </eOperations>
> <eStructuralFeatures xsi:type="ecore:EReference" name="elements"
> upperBound="-1"
> eType="#//CSMElement" containment="true"
> eOpposite="#//CSMElement/csmXML"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="types"
> upperBound="-1"
> eType="#//CSMType" defaultValueLiteral="" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMElement" abstract="true">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@Inheritance(strategy=JOINED)"/>
> </eAnnotations>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="referencedElements" upperBound="-1"
> eType="#//CSMElement"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="csmXML"
> eType="#//CSMXML"
> eOpposite="#//CSMXML/elements"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMMetaElement"
> abstract="true" eSuperTypes="#//CSMElement">
> <eOperations name="putUserProperty">
> <eParameters name="key" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="getUserProperty" eType="#//UserProperty">
> <eParameters name="key" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="ID"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="userProperties" upperBound="-1"
> eType="#//UserProperty" containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMClass" abstract="true"
> eSuperTypes="#//CSMMetaElement">
> <eOperations name="addCharacteristicsDefinition"
> eType="#//CSMCharacteristicDefinition">
> <eParameters name="type" eType="#//CSMType"/>
> </eOperations>
> <eOperations name="createCSMInstance" eType="#//CSMInstance"/>
> <eOperations name="removeCharacteristicsDefinition">
> <eParameters name="characteristicDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> </eOperations>
> <eOperations name="createCSMInstance" eType="#//CSMInstance">
> <eParameters name="owner" eType="#//CSMXML"/>
> </eOperations>
> <eOperations name="deleteCharacteristicDefinition">
> <eParameters name="characteristicDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> </eOperations>
> <eOperations name="deleteCSMInstance">
> <eParameters name="csmInstance" eType="#//CSMInstance"/>
> </eOperations>
> <eOperations name="removeCSMInstance">
> <eParameters name="csmIntsance" eType="#//CSMInstance"/>
> </eOperations>
> <eOperations name="getCSMCharacteristicDefinition"
> eType="#//CSMCharacteristicDefinition">
> <eParameters name="id" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="getCSMCharacteristicDefinition"
> eType="#//CSMCharacteristicDefinition">
> <eParameters name="index" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> </eOperations>
> <eOperations name="deleteAllCSMInstances"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="csmCharacteristicDefinitions"
> upperBound="-1" eType="#//CSMCharacteristicDefinition"
> containment="true"
> eOpposite="#//CSMCharacteristicDefinition/csmClass"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="instances"
> upperBound="-1"
> eType="#//CSMInstance"
> eOpposite="#//CSMInstance/containingCSMClass"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="validCSMTypes" upperBound="-1"
> eType="#//CSMType"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="description"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@Type(type="text")"/>
> </eAnnotations>
> </eStructuralFeatures>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="datasourceDefinition" eType="#//DataSourceDefinitions"
> defaultValueLiteral="" containment="true"
> eOpposite="#//DataSourceDefinitions/ownerClass"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="keyCharachteristicDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="classRepresentations" upperBound="-1"
> eType="#//CSMRepresentation" containment="true"
> eOpposite="#//CSMRepresentation/ownerCSMClass"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass"
> name="CSMCharacteristicDefinition" abstract="true"
> eSuperTypes="#//CSMMetaElement">
> <eOperations name="createCSMCharacteristicValueContainer"
> eType="#//CSMCharacteristicValueContainer">
> <eParameters name="csmInstance" eType="#//CSMInstance"/>
> </eOperations>
> <eOperations name="deleteCSMCharactersitcValueContainer">
> <eParameters name="valueContainer"
> eType="#//CSMCharacteristicValueContainer"/>
> </eOperations>
> <eOperations name="deleteAllCSMCahracteristicValueContainer"/>
> <eOperations name="getCSMCahracteristicValueContainer"
> eType="#//CSMCharacteristicValueContainer">
> <eParameters name="csmInstance" eType="#//CSMInstance"/>
> </eOperations>
> <eOperations name="containsOnlyUniqueValues" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eOperations name="isKey" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="csmClass"
> eType="#//CSMClass"
> eOpposite="#//CSMClass/csmCharacteristicDefinitions"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="csmCharacteristicType"
> eType="#//CSMType"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="userDefined"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="Name"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="valueContainer" upperBound="-1"
> eType="#//CSMCharacteristicValueContainer"
> eOpposite="#//CSMCharacteristicValueContainer/dataType">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@OneToMany(unique=false)"/>
> </eAnnotations>
> </eStructuralFeatures>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="aliasName"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="index"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="dataSource"
> eType="#//ColumnDefinition"
> defaultValueLiteral="" containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute"
> name="freeParameter" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
> defaultValueLiteral="false"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMInstance"
> eSuperTypes="#//CSMObject">
> <eOperations name="getCSMCharacteristicValueContainer"
> eType="#//CSMCharacteristicValueContainer">
> <eParameters name="characteristicDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> </eOperations>
> <eOperations name="createCSMCharacteristicValueContainer"
> eType="#//CSMCharacteristicValueContainer">
> <eParameters name="characteristcDefinition"
> eType="#//CSMCharacteristicDefinition"/>
> </eOperations>
> <eOperations name="deleteCSMCharactersitcValueContainer">
> <eParameters name="valueContainer"
> eType="#//CSMCharacteristicValueContainer"/>
> </eOperations>
> <eOperations name="deleteAllCSMCharacteristicValueContainer"/>
> <eOperations name="isValid" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eOperations name="allNotUserDefinedContainerSet"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="csmValueContainer" upperBound="-1"
> eType="#//CSMCharacteristicValueContainer" containment="true"
> eOpposite="#//CSMCharacteristicValueContainer/csmInstance">
> <eAnnotations source="teneo.jpa">
> <details key="appinfo" value="@OneToMany(unique=false)"/>
> </eAnnotations>
> </eStructuralFeatures>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="csmReprasentation" upperBound="-1"
> eType="#//CSMRepresentationRoot" containment="true"
> eOpposite="#//CSMRepresentationRoot/csmInstance"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="containingCSMClass" eType="#//CSMClass"
> eOpposite="#//CSMClass/instances"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass"
> name="CSMCharacteristicValueContainer" eSuperTypes="#//CSMObject">
> <eOperations name="isConcreteValueSet" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eOperations name="setCSMConcreteValue" eType="#//CSMValue">
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="addCSMValueToValueSet">
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="addIntervalToValueSet">
> <eParameters name="min" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="max" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="includeMax" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eParameters name="includeMin" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eParameters name="increment" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="clearValueSet"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
> defaultValueLiteral="false"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="csmInstance"
> eType="#//CSMInstance"
> eOpposite="#//CSMInstance/csmValueContainer"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="concreteValue" eType="#//CSMValue"
> containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="valueSet"
> upperBound="-1"
> eType="#//CSMValueSet" containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType"
> eType="#//CSMCharacteristicDefinition"
> eOpposite="#//CSMCharacteristicDefinition/valueContainer"/ >
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMValueSet" abstract="true">
> <eOperations name="getStringReprasentation" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType"
> eType="#//CSMType"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMType" abstract="true">
> <eOperations name="createCSMValue" eType="#//CSMValue">
> <eParameters name="valueStringReprasentation" lowerBound="1"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="isValid" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> <eOperations name="createCSMInterval" eType="#//Interval">
> <eParameters name="min" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="max" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eParameters name="includeMin" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eParameters name="includeMax" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eParameters name="increment" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMObject" abstract="true"
> eSuperTypes="#//CSMElement"/>
> <eClassifiers xsi:type="ecore:EClass" name="CSMRepresentationRoot">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="modelName"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="csmInstance"
> eType="#//CSMInstance"
> eOpposite="#//CSMInstance/csmReprasentation"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="representationTree" eType="#//CSMRepresentation"
> defaultValueLiteral="" containment="true"
> eOpposite="#//CSMRepresentation/representationRoot"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="valueDescriptors" upperBound="-1"
> eType="#//CSMRepresentationRootDescriptor" containment="true"
> eOpposite="#//CSMRepresentationRootDescriptor/representationRoot "/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMValue" abstract="true"
> eSuperTypes="#//CSMValueSet">
> <eOperations name="setValueFromString" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
> <eParameters name="value" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eOperations>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="Interval"
> eSuperTypes="#//CSMValueSet">
> <eStructuralFeatures xsi:type="ecore:EReference" name="min"
> eType="#//CSMValue"
> containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="max"
> eType="#//CSMValue"
> containment="true"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="includeMin"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="includeMax"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="kind"
> eType="#//CSMValue"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="increment"
> eType="#//CSMValue"
> containment="true"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="UserProperty">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMRepresentation"
> abstract="true">
> <eOperations name="scrap"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
> eType="#//CSMRepresentation"
> eOpposite="#//CSMRepresentation/children"/>
> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
> upperBound="-1"
> eType="#//CSMRepresentation" containment="true"
> eOpposite="#//CSMRepresentation/parent"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="representationRoot" eType="#//CSMRepresentationRoot"
> eOpposite="#//CSMRepresentationRoot/representationTree"/>
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="ownerCSMClass" eType="#//CSMClass"
> eOpposite="#//CSMClass/classRepresentations"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="DataSourceDefinitions">
> <eStructuralFeatures xsi:type="ecore:EReference" name="ownerClass"
> eType="#//CSMClass"
> eOpposite="#//CSMClass/datasourceDefinition"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="report"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="ColumnDefinition">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnName"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="datasetName"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass"
> name="CSMRepresentationRootDescriptor">
> <eStructuralFeatures xsi:type="ecore:EReference"
> name="representationRoot" eType="#//CSMRepresentationRoot"
> eOpposite="#//CSMRepresentationRoot/valueDescriptors"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute"
> name="characteristicID" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> <eStructuralFeatures xsi:type="ecore:EAttribute"
> name="characteriticValue" eType="ecore:EDataType
> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eSubpackages name="types"
> nsURI="http://www.arcsolutions.de/remarc/types" nsPrefix="types">
> <eClassifiers xsi:type="ecore:EClass" name="StringType"
> eSuperTypes="#//CSMType"/>
> <eClassifiers xsi:type="ecore:EClass" name="DoubleType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="StringValue"
> eSuperTypes="#//CSMValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="DoubleValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMNumberType"
> abstract="true" eSuperTypes="#//CSMType"/>
> <eClassifiers xsi:type="ecore:EClass" name="CSMNumberValue"
> abstract="true" eSuperTypes="#//CSMValue"/>
> <eClassifiers xsi:type="ecore:EClass" name="BooleanValue"
> eSuperTypes="#//CSMValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="BooleanType"
> eSuperTypes="#//CSMType"/>
> <eClassifiers xsi:type="ecore:EClass" name="IntegerValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="IntegerType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="ByteValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EByte"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="ByteType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="FloatValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="FloatType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="LongValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="LongType"
> eSuperTypes="#//types/CSMNumberType"/>
> <eClassifiers xsi:type="ecore:EClass" name="ShortValue"
> eSuperTypes="#//types/CSMNumberValue">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EShort"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="ShortType"
> eSuperTypes="#//types/CSMNumberType"/>
> </eSubpackages>
> <eSubpackages name="represantations"
> nsURI="http://www.arcsolutions.de/remarc/represantations"
> nsPrefix="represantations">
> <eClassifiers xsi:type="ecore:EClass" name="CSMFileRepresentation"
> eSuperTypes="#//CSMRepresentation">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="location"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="CSMUrlRepresentation"
> eSuperTypes="#//CSMRepresentation">
> <eStructuralFeatures xsi:type="ecore:EAttribute" name="url"
> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
> </eClassifiers>
> </eSubpackages>
> </ecore:EPackage>
>
>> I saw that hibernate also has a 9i/10g dialect for Oracle but I am not
>> sure if it applies to your case.
> its an oracle 8.1.6 database
> setting dialect to org.hibernate.dialect.Oracle9Dialect leads to
> exceptions: ORA-00907: missing right parenthesis
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
| | | |
Re: OneToMany and index tables [message #603393 is a reply to message #74740] |
Fri, 09 March 2007 19:08 |
Martin Taal Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Hi Sandro,
I think it is best if you send me a testcase and the ecore and the hibernate and persistence
properties. Then I can try reproduce your error.
gr. Martin
Sandro Weiser wrote:
> The errors are gone with the modified ecore, but Elements in
> CSMCharacteristicValueContainer aren't found anymore.
> Any suggestions? I absolutely have no clue. In the log there are to WARN
> for the OneToMany Annotations.
> Why do I get the exceptions
> ORA-02291: integrity constraint (REMARCADMIN.FK869ECAAF19A9816) violated
> - parent key not found
> without the Annotations ???????????????????????????
>
> Please help
>
>>> What is your current setting (the one resulting in zero errors)
>>> related to inheritance (globally and the specific annotations)?
>> hibernate.connection.driver_class="oracle.jdbc.driver.OracleDriver "
>> hibernate.dialect="org.hibernate.dialect.OracleDialect"
>> hibernate.connection.url="jdbc:oracle:thin://databaseURL/dataStoreName"
>> hibernate.connection.pool_size", "1");
>> hibernate.connection.autocommit", "false");
>> hibernate.show_sql", "true");
>> hibernate.format_sql", "true");
>>
>> PersistenceOptions.SQL_CASE_STRATEGY, "none"
>> PersistenceOptions.JOIN_TABLE_NAMING_STRATEGY, "unique"
>> PersistenceOptions.MAXIMUM_SQL_NAME_LENGTH, "30"
>>
>> ecore:
>> <?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="datacore"
>> nsURI="http://www.arcsolutions.de/remarc/" nsPrefix="remarc">
>> <eClassifiers xsi:type="ecore:EClass" name="CSMXML">
>> <eOperations name="createCSMInstance" eType="#//CSMInstance">
>> <eParameters name="csmClass" lowerBound="1" eType="#//CSMClass"/>
>> </eOperations>
>> <eOperations name="createCSMClass" eType="#//CSMClass">
>> <eParameters name="factory" eType="ecore:EClass
>> http://www.eclipse.org/emf/2002/Ecore#//EFactory"/>
>> <eParameters name="eClass" eType="ecore:EClass
>> http://www.eclipse.org/emf/2002/Ecore#//EClass"/>
>> </eOperations>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="elements"
>> upperBound="-1"
>> eType="#//CSMElement" containment="true"
>> eOpposite="#//CSMElement/csmXML"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="types"
>> upperBound="-1"
>> eType="#//CSMType" defaultValueLiteral="" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMElement"
>> abstract="true">
>> <eAnnotations source="teneo.jpa">
>> <details key="appinfo" value="@Inheritance(strategy=JOINED)"/>
>> </eAnnotations>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="referencedElements" upperBound="-1"
>> eType="#//CSMElement"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="csmXML"
>> eType="#//CSMXML"
>> eOpposite="#//CSMXML/elements"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMMetaElement"
>> abstract="true" eSuperTypes="#//CSMElement">
>> <eOperations name="putUserProperty">
>> <eParameters name="key" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="getUserProperty" eType="#//UserProperty">
>> <eParameters name="key" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="ID"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="userProperties" upperBound="-1"
>> eType="#//UserProperty" containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMClass"
>> abstract="true" eSuperTypes="#//CSMMetaElement">
>> <eOperations name="addCharacteristicsDefinition"
>> eType="#//CSMCharacteristicDefinition">
>> <eParameters name="type" eType="#//CSMType"/>
>> </eOperations>
>> <eOperations name="createCSMInstance" eType="#//CSMInstance"/>
>> <eOperations name="removeCharacteristicsDefinition">
>> <eParameters name="characteristicDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> </eOperations>
>> <eOperations name="createCSMInstance" eType="#//CSMInstance">
>> <eParameters name="owner" eType="#//CSMXML"/>
>> </eOperations>
>> <eOperations name="deleteCharacteristicDefinition">
>> <eParameters name="characteristicDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> </eOperations>
>> <eOperations name="deleteCSMInstance">
>> <eParameters name="csmInstance" eType="#//CSMInstance"/>
>> </eOperations>
>> <eOperations name="removeCSMInstance">
>> <eParameters name="csmIntsance" eType="#//CSMInstance"/>
>> </eOperations>
>> <eOperations name="getCSMCharacteristicDefinition"
>> eType="#//CSMCharacteristicDefinition">
>> <eParameters name="id" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="getCSMCharacteristicDefinition"
>> eType="#//CSMCharacteristicDefinition">
>> <eParameters name="index" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> </eOperations>
>> <eOperations name="deleteAllCSMInstances"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmCharacteristicDefinitions"
>> upperBound="-1" eType="#//CSMCharacteristicDefinition"
>> containment="true"
>> eOpposite="#//CSMCharacteristicDefinition/csmClass"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="instances"
>> upperBound="-1"
>> eType="#//CSMInstance"
>> eOpposite="#//CSMInstance/containingCSMClass"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="validCSMTypes" upperBound="-1"
>> eType="#//CSMType"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="description" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString">
>> <eAnnotations source="teneo.jpa">
>> <details key="appinfo" value="@Type(type="text")"/>
>> </eAnnotations>
>> </eStructuralFeatures>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="datasourceDefinition" eType="#//DataSourceDefinitions"
>> defaultValueLiteral="" containment="true"
>> eOpposite="#//DataSourceDefinitions/ownerClass"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="keyCharachteristicDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="classRepresentations" upperBound="-1"
>> eType="#//CSMRepresentation" containment="true"
>> eOpposite="#//CSMRepresentation/ownerCSMClass"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass"
>> name="CSMCharacteristicDefinition" abstract="true"
>> eSuperTypes="#//CSMMetaElement">
>> <eOperations name="createCSMCharacteristicValueContainer"
>> eType="#//CSMCharacteristicValueContainer">
>> <eParameters name="csmInstance" eType="#//CSMInstance"/>
>> </eOperations>
>> <eOperations name="deleteCSMCharactersitcValueContainer">
>> <eParameters name="valueContainer"
>> eType="#//CSMCharacteristicValueContainer"/>
>> </eOperations>
>> <eOperations name="deleteAllCSMCahracteristicValueContainer"/>
>> <eOperations name="getCSMCahracteristicValueContainer"
>> eType="#//CSMCharacteristicValueContainer">
>> <eParameters name="csmInstance" eType="#//CSMInstance"/>
>> </eOperations>
>> <eOperations name="containsOnlyUniqueValues"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eOperations name="isKey" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="csmClass"
>> eType="#//CSMClass"
>> eOpposite="#//CSMClass/csmCharacteristicDefinitions"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmCharacteristicType"
>> eType="#//CSMType"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="userDefined" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="Name"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="valueContainer" upperBound="-1"
>> eType="#//CSMCharacteristicValueContainer"
>> eOpposite="#//CSMCharacteristicValueContainer/dataType">
>> <eAnnotations source="teneo.jpa">
>> <details key="appinfo" value="@OneToMany(unique=false)"/>
>> </eAnnotations>
>> </eStructuralFeatures>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="aliasName"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="index"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="dataSource"
>> eType="#//ColumnDefinition"
>> defaultValueLiteral="" containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="freeParameter" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
>> defaultValueLiteral="false"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMInstance"
>> eSuperTypes="#//CSMObject">
>> <eOperations name="getCSMCharacteristicValueContainer"
>> eType="#//CSMCharacteristicValueContainer">
>> <eParameters name="characteristicDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> </eOperations>
>> <eOperations name="createCSMCharacteristicValueContainer"
>> eType="#//CSMCharacteristicValueContainer">
>> <eParameters name="characteristcDefinition"
>> eType="#//CSMCharacteristicDefinition"/>
>> </eOperations>
>> <eOperations name="deleteCSMCharactersitcValueContainer">
>> <eParameters name="valueContainer"
>> eType="#//CSMCharacteristicValueContainer"/>
>> </eOperations>
>> <eOperations name="deleteAllCSMCharacteristicValueContainer"/>
>> <eOperations name="isValid" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eOperations name="allNotUserDefinedContainerSet"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmValueContainer" upperBound="-1"
>> eType="#//CSMCharacteristicValueContainer" containment="true"
>> eOpposite="#//CSMCharacteristicValueContainer/csmInstance">
>> <eAnnotations source="teneo.jpa">
>> <details key="appinfo" value="@OneToMany(unique=false)"/>
>> </eAnnotations>
>> </eStructuralFeatures>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmReprasentation" upperBound="-1"
>> eType="#//CSMRepresentationRoot" containment="true"
>> eOpposite="#//CSMRepresentationRoot/csmInstance"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="containingCSMClass" eType="#//CSMClass"
>> eOpposite="#//CSMClass/instances"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass"
>> name="CSMCharacteristicValueContainer" eSuperTypes="#//CSMObject">
>> <eOperations name="isConcreteValueSet" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eOperations name="setCSMConcreteValue" eType="#//CSMValue">
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="addCSMValueToValueSet">
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="addIntervalToValueSet">
>> <eParameters name="min" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="max" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="includeMax" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eParameters name="includeMin" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eParameters name="increment" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="clearValueSet"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
>> defaultValueLiteral="false"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmInstance" eType="#//CSMInstance"
>> eOpposite="#//CSMInstance/csmValueContainer"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="concreteValue" eType="#//CSMValue"
>> containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="valueSet"
>> upperBound="-1"
>> eType="#//CSMValueSet" containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType"
>> eType="#//CSMCharacteristicDefinition"
>> eOpposite="#//CSMCharacteristicDefinition/valueContainer"/ >
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMValueSet"
>> abstract="true">
>> <eOperations name="getStringReprasentation" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="dataType"
>> eType="#//CSMType"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMType" abstract="true">
>> <eOperations name="createCSMValue" eType="#//CSMValue">
>> <eParameters name="valueStringReprasentation" lowerBound="1"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="isValid" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> <eOperations name="createCSMInterval" eType="#//Interval">
>> <eParameters name="min" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="max" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eParameters name="includeMin" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eParameters name="includeMax" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eParameters name="increment" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMObject"
>> abstract="true" eSuperTypes="#//CSMElement"/>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMRepresentationRoot">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="modelName"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="csmInstance" eType="#//CSMInstance"
>> eOpposite="#//CSMInstance/csmReprasentation"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="representationTree" eType="#//CSMRepresentation"
>> defaultValueLiteral="" containment="true"
>> eOpposite="#//CSMRepresentation/representationRoot"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="valueDescriptors" upperBound="-1"
>> eType="#//CSMRepresentationRootDescriptor" containment="true"
>> eOpposite="#//CSMRepresentationRootDescriptor/representationRoot "/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMValue"
>> abstract="true" eSuperTypes="#//CSMValueSet">
>> <eOperations name="setValueFromString" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
>> <eParameters name="value" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eOperations>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="Interval"
>> eSuperTypes="#//CSMValueSet">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="min"
>> eType="#//CSMValue"
>> containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="max"
>> eType="#//CSMValue"
>> containment="true"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="includeMin"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="includeMax"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="kind"
>> eType="#//CSMValue"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="increment"
>> eType="#//CSMValue"
>> containment="true"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="UserProperty">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMRepresentation"
>> abstract="true">
>> <eOperations name="scrap"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="parent"
>> eType="#//CSMRepresentation"
>> eOpposite="#//CSMRepresentation/children"/>
>> <eStructuralFeatures xsi:type="ecore:EReference" name="children"
>> upperBound="-1"
>> eType="#//CSMRepresentation" containment="true"
>> eOpposite="#//CSMRepresentation/parent"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="valid"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="representationRoot" eType="#//CSMRepresentationRoot"
>> eOpposite="#//CSMRepresentationRoot/representationTree"/>
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="ownerCSMClass" eType="#//CSMClass"
>> eOpposite="#//CSMClass/classRepresentations"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="DataSourceDefinitions">
>> <eStructuralFeatures xsi:type="ecore:EReference" name="ownerClass"
>> eType="#//CSMClass"
>> eOpposite="#//CSMClass/datasourceDefinition"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="report"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="ColumnDefinition">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="columnName"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="datasetName" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass"
>> name="CSMRepresentationRootDescriptor">
>> <eStructuralFeatures xsi:type="ecore:EReference"
>> name="representationRoot" eType="#//CSMRepresentationRoot"
>> eOpposite="#//CSMRepresentationRoot/valueDescriptors"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="characteristicID" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> <eStructuralFeatures xsi:type="ecore:EAttribute"
>> name="characteriticValue" eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eSubpackages name="types"
>> nsURI="http://www.arcsolutions.de/remarc/types" nsPrefix="types">
>> <eClassifiers xsi:type="ecore:EClass" name="StringType"
>> eSuperTypes="#//CSMType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="DoubleType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="StringValue"
>> eSuperTypes="#//CSMValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="DoubleValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMNumberType"
>> abstract="true" eSuperTypes="#//CSMType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMNumberValue"
>> abstract="true" eSuperTypes="#//CSMValue"/>
>> <eClassifiers xsi:type="ecore:EClass" name="BooleanValue"
>> eSuperTypes="#//CSMValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType
>> http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="BooleanType"
>> eSuperTypes="#//CSMType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="IntegerValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="IntegerType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="ByteValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EByte"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="ByteType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="FloatValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="FloatType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="LongValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="LongType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> <eClassifiers xsi:type="ecore:EClass" name="ShortValue"
>> eSuperTypes="#//types/CSMNumberValue">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="value"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EShort"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="ShortType"
>> eSuperTypes="#//types/CSMNumberType"/>
>> </eSubpackages>
>> <eSubpackages name="represantations"
>> nsURI="http://www.arcsolutions.de/remarc/represantations"
>> nsPrefix="represantations">
>> <eClassifiers xsi:type="ecore:EClass" name="CSMFileRepresentation"
>> eSuperTypes="#//CSMRepresentation">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="location"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> <eClassifiers xsi:type="ecore:EClass" name="CSMUrlRepresentation"
>> eSuperTypes="#//CSMRepresentation">
>> <eStructuralFeatures xsi:type="ecore:EAttribute" name="url"
>> eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
>> </eClassifiers>
>> </eSubpackages>
>> </ecore:EPackage>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
| |
Goto Forum:
Current Time: Mon Sep 23 10:44:27 GMT 2024
Powered by FUDForum. Page generated in 0.12667 seconds
|