Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] ClassCastException with CDO-Hibernate
[CDO] ClassCastException with CDO-Hibernate [message #730404] Wed, 28 September 2011 10:25 Go to next message
Missing name Missing name is currently offline Missing name Missing nameFriend
Messages: 17
Registered: September 2011
Junior Member
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 09:28 Go to previous message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
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 Apr 16 23:41:39 GMT 2024

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

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

Back to the top