Skip to main content



      Home
Home » Modeling » EMF » [CDO] ClassCastException with CDO-Hibernate
[CDO] ClassCastException with CDO-Hibernate [message #730404] Wed, 28 September 2011 06:25 Go to next message
Eclipse UserFriend
Hello again. I am executing this code:

static public void testFullSave(ResourceSet rs, String sourceFile,
			String resourceName, boolean legacyMode) {
		Resource r = rs
				.getResource(URI.createFileURI(new File(sourceFile)
						.getAbsolutePath()), true);
		List<EObject> roots = r.getContents();

		CDOSessionConfiguration sessionConfiguration = initialize();
		if (legacyMode) {
			CDOUtil.setLegacyModeDefault(true);
		}

		CDOSession session = openSession(sessionConfiguration);
		long l = System.currentTimeMillis();
		CDOTransaction transaction = session.openTransaction();
		CDOResource resource = transaction.getOrCreateResource(resourceName); //$NON-NLS-1$
		resource.getContents().clear();

		resource.getContents().addAll(roots);
		try {
			transaction.commit();
			System.err.println("FULL SAVE TIME: "
					+ (System.currentTimeMillis() - l));
		} catch (CommitException e) {
			System.err.println("FULL SAVE TIME UNTIL ERROR: "
					+ (System.currentTimeMillis() - l));
			e.printStackTrace();
		}
		transaction.close();
		session.close();
		System.exit(0);
	}


which stores a model in a CDO Hibernate 4.0 repository over MySQL. The same code and example model worked fine in CDO 4.0 but now it throws a ClassCastException on the server:

Hibernate: insert into `cdoresourcenode` (e_version, resource_id, container_id, `name`, `dtype`) values (?, ?, ?, ?, 'CDOResource')
Hibernate: insert into `core_physicalelement` (resource_id, container_id, version, `path`, `isreadonly`, dtype) values (?, ?, ?, ?, ?, 'core.IJavaModel')
[ERROR] java.lang.String cannot be cast to java.lang.Boolean
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
	at org.hibernate.type.descriptor.java.BooleanTypeDescriptor.unwrap(BooleanTypeDescriptor.java:36)
	at org.hibernate.type.descriptor.sql.BitTypeDescriptor$1.doBind(BitTypeDescriptor.java:55)
	at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:89)
	at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:282)
	at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:277)
	at org.hibernate.type.AbstractSingleColumnStandardBasicType.nullSafeSet(AbstractSingleColumnStandardBasicType.java:85)
	at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2166)
	at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2143)
	at org.hibernate.persister.entity.AbstractEntityPersister$4.bindValues(AbstractEntityPersister.java:2321)
	at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:56)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2327)
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2834)
	at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
	at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:320)
	at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
	at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
	at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
	at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
	at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:252)
	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:392)
	at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:335)
	at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204)
	at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:425)
	at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:362)
	at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:338)
	at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204)
	at org.hibernate.engine.Cascade.cascade(Cascade.java:161)
	at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:475)
	at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:353)
	at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
	at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
	at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
	at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
	at org.eclipse.emf.cdo.server.internal.hibernate.HibernateStoreAccessor.doWrite(HibernateStoreAccessor.java:679)
	at org.eclipse.emf.cdo.spi.server.StoreAccessorBase.write(StoreAccessorBase.java:149)
	at org.eclipse.emf.cdo.internal.server.TransactionCommitContext.write(TransactionCommitContext.java:425)
	at org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:42)
	at org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:1)
	at org.eclipse.net4j.util.om.monitor.ProgressDistributor.run(ProgressDistributor.java:96)
	at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicatingCommit(CommitTransactionIndication.java:244)
	at org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicating(CommitTransactionIndication.java:92)
	at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndicationWithMonitoring.indicating(CDOServerIndicationWithMonitoring.java:109)
	at org.eclipse.net4j.signal.IndicationWithMonitoring.indicating(IndicationWithMonitoring.java:84)
	at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedInput(IndicationWithResponse.java:90)
	at org.eclipse.net4j.signal.Signal.doInput(Signal.java:326)
	at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:63)
	at org.eclipse.net4j.signal.IndicationWithMonitoring.execute(IndicationWithMonitoring.java:63)
	at org.eclipse.net4j.signal.Signal.runSync(Signal.java:251)
	at org.eclipse.net4j.signal.Signal.run(Signal.java:147)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)


core_physicalelement is the table that corresponds to the abstract superclass of the root of model.

Since both the source XMI model and the generated Java classes worked correctly with CDO 4.0 and other EMF software I assume that there is nothing wrong with them. Could it be a problem of the generated Hibernate Mapping?

I have also generated a Hibernate Mapping with the org.eclipse.emf.cdo.examples.hibernate.client.GenerateHBMTest test class. The relevant excerpt of the mapping is:

<hibernate-mapping auto-import="false">
	<class entity-name="IJavaElement" abstract="true" lazy="true" table="`ijavaelement`">
		<meta attribute="eclassName" inherit="false">IJavaElement</meta>
		<meta attribute="epackage" inherit="false">org.amma.dsl.jdt.core</meta>
		<tuplizer entity-mode="pojo" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
		<tuplizer entity-mode="dynamic-map" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
		<id type="long" name="idcol" column="idcol" access="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOSyntheticIdPropertyHandler">
			<meta attribute="syntheticId" inherit="false">true</meta>
			<generator class="native"/>
		</id>
		<property name="resourceID" type="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOIDUserType">
			<column name="resource_id"/>
		</property>
		<property name="containerID" type="string">
			<column name="container_id"/>
		</property>
		<property name="version" type="java.lang.Integer">
			<meta attribute="version">true</meta>
			<column name="version"/>
		</property>
		<property name="elementName" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
			<column not-null="true" unique="false" name="`elementname`"/>
		</property>
	</class>
	<class entity-name="PhysicalElement" abstract="true" lazy="true" table="`physicalelement`">
		<meta attribute="eclassName" inherit="false">PhysicalElement</meta>
		<meta attribute="epackage" inherit="false">org.amma.dsl.jdt.core</meta>
		<tuplizer entity-mode="pojo" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
		<tuplizer entity-mode="dynamic-map" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
		<id type="long" name="idcol" column="idcol" access="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOSyntheticIdPropertyHandler">
			<meta attribute="syntheticId" inherit="false">true</meta>
			<generator class="native"/>
		</id>
		<property name="resourceID" type="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOIDUserType">
			<column name="resource_id"/>
		</property>
		<property name="containerID" type="string">
			<column name="container_id"/>
		</property>
		<property name="version" type="java.lang.Integer">
			<meta attribute="version">true</meta>
			<column name="version"/>
		</property>
		<property name="path" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
			<column not-null="true" unique="false" name="`path`"/>
		</property>
		<property name="isReadOnly" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.Boolean">
			<column not-null="true" unique="false" name="`isreadonly`"/>
		</property>
	</class>
	<joined-subclass entity-name="IJavaModel" abstract="false" lazy="true" extends="PhysicalElement" table="`ijavamodel`">
		<meta attribute="eclassName" inherit="false">IJavaModel</meta>
		<meta attribute="epackage" inherit="false">org.amma.dsl.jdt.core</meta>
		<tuplizer entity-mode="pojo" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
		<tuplizer entity-mode="dynamic-map" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
		<key>
			<column name="`physicalelement_e_id`"/>
		</key>
		<list name="javaProjects" lazy="true" cascade="all,delete-orphan">
			<key update="true" foreign-key="ijavamodel_javaprojects">
				<column name="`ijavamodel_javaprojects_e_id`" not-null="false" unique="false" index="IJavaModel_javaProjects"/>
			</key>
			<list-index column="`ijavamodel_javaprojects_idx`"/>
			<one-to-many entity-name="IJavaProject"/>
		</list>
		<list name="externalPackageFragmentRoots" lazy="true" cascade="all,delete-orphan">
			<key update="true" foreign-key="ijavamodel_externalpackagefragmentroots">
				<column name="`ijavamodel_externalpackagefragmentroots_e_id`" not-null="false" unique="false" index="IJavaModel_externalPackageFragmentRoots"/>
			</key>
			<list-index column="`ijavamodel_externalpackagefragmentroots_idx`"/>
			<one-to-many entity-name="IPackageFragmentRoot"/>
		</list>
	</joined-subclass>


IJavaModel extends IJavaElement and PhysicalElement and is the model root's metaclass.

Thanks in advance.
Re: [CDO] ClassCastException with CDO-Hibernate [message #730832 is a reply to message #730404] Thu, 29 September 2011 05:28 Go to previous message
Eclipse UserFriend
Hi,
I am on holiday/traveling, but hope to take a look later today.

gr. Martin

On 09/28/2011 12:26 PM, inbasswetrust wrote:
> Hello again. I am executing this code:
>
>
> static public void testFullSave(ResourceSet rs, String sourceFile,
> String resourceName, boolean legacyMode) {
> Resource r = rs
> .getResource(URI.createFileURI(new File(sourceFile)
> .getAbsolutePath()), true);
> List<EObject> roots = r.getContents();
>
> CDOSessionConfiguration sessionConfiguration = initialize();
> if (legacyMode) {
> CDOUtil.setLegacyModeDefault(true);
> }
>
> CDOSession session = openSession(sessionConfiguration);
> long l = System.currentTimeMillis();
> CDOTransaction transaction = session.openTransaction();
> CDOResource resource = transaction.getOrCreateResource(resourceName); //$NON-NLS-1$
> resource.getContents().clear();
>
> resource.getContents().addAll(roots);
> try {
> transaction.commit();
> System.err.println("FULL SAVE TIME: "
> + (System.currentTimeMillis() - l));
> } catch (CommitException e) {
> System.err.println("FULL SAVE TIME UNTIL ERROR: "
> + (System.currentTimeMillis() - l));
> e.printStackTrace();
> }
> transaction.close();
> session.close();
> System.exit(0);
> }
>
>
> which stores a model in a CDO Hibernate 4.0 repository over MySQL. The same code and example model worked fine in CDO
> 4.0 but now it throws a ClassCastException on the server:
>
> Hibernate: insert into `cdoresourcenode` (e_version, resource_id, container_id, `name`, `dtype`) values (?, ?, ?, ?,
> 'CDOResource')
> Hibernate: insert into `core_physicalelement` (resource_id, container_id, version, `path`, `isreadonly`, dtype) values
> (?, ?, ?, ?, ?, 'core.IJavaModel')
> [ERROR] java.lang.String cannot be cast to java.lang.Boolean
> java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
> at org.hibernate.type.descriptor.java.BooleanTypeDescriptor.unwrap(BooleanTypeDescriptor.java:36)
> at org.hibernate.type.descriptor.sql.BitTypeDescriptor$1.doBind(BitTypeDescriptor.java:55)
> at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:89)
> at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:282)
> at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:277)
> at org.hibernate.type.AbstractSingleColumnStandardBasicType.nullSafeSet(AbstractSingleColumnStandardBasicType.java:85)
> at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2166)
> at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2143)
> at org.hibernate.persister.entity.AbstractEntityPersister$4.bindValues(AbstractEntityPersister.java:2321)
> at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:56)
> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2327)
> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2834)
> at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
> at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
> at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:320)
> at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
> at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
>
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
> at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
> at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:252)
> at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:392)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:335)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204)
> at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:425)
> at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:362)
> at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:338)
> at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:204)
> at org.hibernate.engine.Cascade.cascade(Cascade.java:161)
> at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:475)
> at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:353)
> at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
> at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
>
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
> at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
> at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:685)
> at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:677)
> at org.eclipse.emf.cdo.server.internal.hibernate.HibernateStoreAccessor.doWrite(HibernateStoreAccessor.java:679)
> at org.eclipse.emf.cdo.spi.server.StoreAccessorBase.write(StoreAccessorBase.java:149)
> at org.eclipse.emf.cdo.internal.server.TransactionCommitContext.write(TransactionCommitContext.java:425)
> at org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:42)
> at org.eclipse.emf.cdo.spi.server.InternalCommitContext$1.runLoop(InternalCommitContext.java:1)
> at org.eclipse.net4j.util.om.monitor.ProgressDistributor.run(ProgressDistributor.java:96)
> at
> org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicatingCommit(CommitTransactionIndication.java:244)
>
> at
> org.eclipse.emf.cdo.server.internal.net4j.protocol.CommitTransactionIndication.indicating(CommitTransactionIndication.java:92)
>
> at
> org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndicationWithMonitoring.indicating(CDOServerIndicationWithMonitoring.java:109)
>
> at org.eclipse.net4j.signal.IndicationWithMonitoring.indicating(IndicationWithMonitoring.java:84)
> at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedInput(IndicationWithResponse.java:90)
> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:326)
> at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:63)
> at org.eclipse.net4j.signal.IndicationWithMonitoring.execute(IndicationWithMonitoring.java:63)
> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:251)
> at org.eclipse.net4j.signal.Signal.run(Signal.java:147)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
>
> core_physicalelement is the table that corresponds to the abstract superclass of the root of model.
>
> Since both the source XMI model and the generated Java classes worked correctly with CDO 4.0 and other EMF software I
> assume that there is nothing wrong with them. Could it be a problem of the generated Hibernate Mapping?
>
> I have also generated a Hibernate Mapping with the org.eclipse.emf.cdo.examples.hibernate.client.GenerateHBMTest test
> class. The relevant excerpt of the mapping is:
>
> <hibernate-mapping auto-import="false">
> <class entity-name="IJavaElement" abstract="true" lazy="true" table="`ijavaelement`">
> <meta attribute="eclassName" inherit="false">IJavaElement</meta>
> <meta attribute="epackage" inherit="false">org.amma.dsl.jdt.core</meta>
> <tuplizer entity-mode="pojo" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
> <tuplizer entity-mode="dynamic-map" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
> <id type="long" name="idcol" column="idcol"
> access="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOSyntheticIdPropertyHandler">
> <meta attribute="syntheticId" inherit="false">true</meta>
> <generator class="native"/>
> </id>
> <property name="resourceID" type="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOIDUserType">
> <column name="resource_id"/>
> </property>
> <property name="containerID" type="string">
> <column name="container_id"/>
> </property>
> <property name="version" type="java.lang.Integer">
> <meta attribute="version">true</meta>
> <column name="version"/>
> </property>
> <property name="elementName" lazy="false" insert="true" update="true" not-null="true" unique="false"
> type="java.lang.String">
> <column not-null="true" unique="false" name="`elementname`"/>
> </property>
> </class>
> <class entity-name="PhysicalElement" abstract="true" lazy="true" table="`physicalelement`">
> <meta attribute="eclassName" inherit="false">PhysicalElement</meta>
> <meta attribute="epackage" inherit="false">org.amma.dsl.jdt.core</meta>
> <tuplizer entity-mode="pojo" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
> <tuplizer entity-mode="dynamic-map" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
> <id type="long" name="idcol" column="idcol"
> access="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOSyntheticIdPropertyHandler">
> <meta attribute="syntheticId" inherit="false">true</meta>
> <generator class="native"/>
> </id>
> <property name="resourceID" type="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOIDUserType">
> <column name="resource_id"/>
> </property>
> <property name="containerID" type="string">
> <column name="container_id"/>
> </property>
> <property name="version" type="java.lang.Integer">
> <meta attribute="version">true</meta>
> <column name="version"/>
> </property>
> <property name="path" lazy="false" insert="true" update="true" not-null="true" unique="false" type="java.lang.String">
> <column not-null="true" unique="false" name="`path`"/>
> </property>
> <property name="isReadOnly" lazy="false" insert="true" update="true" not-null="true" unique="false"
> type="java.lang.Boolean">
> <column not-null="true" unique="false" name="`isreadonly`"/>
> </property>
> </class>
> <joined-subclass entity-name="IJavaModel" abstract="false" lazy="true" extends="PhysicalElement" table="`ijavamodel`">
> <meta attribute="eclassName" inherit="false">IJavaModel</meta>
> <meta attribute="epackage" inherit="false">org.amma.dsl.jdt.core</meta>
> <tuplizer entity-mode="pojo" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
> <tuplizer entity-mode="dynamic-map" class="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDORevisionTuplizer"/>
> <key>
> <column name="`physicalelement_e_id`"/>
> </key>
> <list name="javaProjects" lazy="true" cascade="all,delete-orphan">
> <key update="true" foreign-key="ijavamodel_javaprojects">
> <column name="`ijavamodel_javaprojects_e_id`" not-null="false" unique="false" index="IJavaModel_javaProjects"/>
> </key>
> <list-index column="`ijavamodel_javaprojects_idx`"/>
> <one-to-many entity-name="IJavaProject"/>
> </list>
> <list name="externalPackageFragmentRoots" lazy="true" cascade="all,delete-orphan">
> <key update="true" foreign-key="ijavamodel_externalpackagefragmentroots">
> <column name="`ijavamodel_externalpackagefragmentroots_e_id`" not-null="false" unique="false"
> index="IJavaModel_externalPackageFragmentRoots"/>
> </key>
> <list-index column="`ijavamodel_externalpackagefragmentroots_idx`"/>
> <one-to-many entity-name="IPackageFragmentRoot"/>
> </list>
> </joined-subclass>
>
> IJavaModel extends IJavaElement and PhysicalElement and is the model root's metaclass.
>
> Thanks in advance.


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Cell: +31 (0)6 288 48 943
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
Previous Topic:EMF4Net dead?
Next Topic:Xcore and EEnum values
Goto Forum:
  


Current Time: Tue Jul 08 19:48:15 EDT 2025

Powered by FUDForum. Page generated in 0.03239 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top