Skip to main content



      Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [Teneo] Persisting GMF diagram: Integer cannot be cast to Long
[Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #115340] Sat, 22 March 2008 09:38 Go to next message
Eclipse UserFriend
Hello!

Thank you very much for implementing the feature to persist the GMF
diagram to a database.

But certainly I am not able to manage it.

A followed the tutorial on elver.org, but I get the following exception
when the save method of the resource gets called:

835872 [main] ERROR org.eclipse.emf.teneo.hibernate.HbMapperException -
Exception when saving resource odm_jobplan
java.lang.ClassCastException: java.lang.Integer cannot be cast to
java.lang.Long
at org.hibernate.type.LongType.set(LongType.java:42)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.jav a:136)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.jav a:107)
at org.hibernate.type.AnyType.nullSafeSet(AnyType.java:144)
at
org.hibernate.persister.entity.AbstractEntityPersister.dehyd rate(AbstractEntityPersister.java:1997)
at
org.hibernate.persister.entity.AbstractEntityPersister.inser t(AbstractEntityPersister.java:2243)
at
org.hibernate.persister.entity.AbstractEntityPersister.inser t(AbstractEntityPersister.java:2660)
at
org.hibernate.action.EntityInsertAction.execute(EntityInsert Action.java:56)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:25 0)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue. java:234)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue. java:141)
at
org.hibernate.event.def.AbstractFlushingEventListener.perfor mExecutions(AbstractFlushingEventListener.java:298)
at
org.hibernate.event.def.DefaultFlushEventListener.onFlush(De faultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at
org.eclipse.emf.teneo.hibernate.HbSessionWrapper.flush(HbSes sionWrapper.java:161)
at
org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:348)
at
org.eclipse.emf.teneo.resource.StoreResource.save(StoreResou rce.java:348)



Here some more trace back:
835832 [main] DEBUG org.hibernate.SQL - insert into "ecore_eobject"
(e_version, econtainer_class, e_container, e_container_featureid,
"visible", "type", "element_type", "element_id", "name",
"measurementunit", "dtype", e_id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
'Diagram', ?)
835832 [main] DEBUG org.hibernate.jdbc.AbstractBatcher - preparing
statement
835842 [main] DEBUG org.hibernate.persister.entity.AbstractEntityPersister
- Dehydrating entity: [Diagram#65539]
835842 [main] DEBUG org.hibernate.type.IntegerType - binding '0' to
parameter: 1
835842 [main] DEBUG org.hibernate.type.IntegerType - binding '0' to
parameter: 4
835842 [main] DEBUG org.hibernate.type.BooleanType - binding 'true' to
parameter: 5
835842 [main] DEBUG org.hibernate.type.StringType - binding 'Odm' to
parameter: 6
835842 [main] DEBUG org.hibernate.type.StringType - binding 'Jobplan' to
parameter: 7
835842 [main] DEBUG org.hibernate.type.LongType - binding '32768' to
parameter: 8
835842 [main] INFO org.hibernate.type.LongType - could not bind value
'32768' to parameter: 8; java.lang.Integer cannot be cast to java.lang.Long
835842 [main] DEBUG org.hibernate.jdbc.ConnectionManager - registering
flush end


Persisting my on model "Jobplan" works fine, but persisting the "Diagram"
doesn't work :(!

Thank you very any help!

Best regards,
Matthias
Re: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #115353 is a reply to message #115340] Sat, 22 March 2008 16:26 Go to previous messageGo to next message
Eclipse UserFriend
Hi Matthias,
Apparently the id of the JobPlan is an Integer while hibernate expects a Long. Is the id in the
JobPlan entity computed by the db or set by yourselve?

gr. Martin

Matthias wrote:
> Hello!
>
> Thank you very much for implementing the feature to persist the GMF
> diagram to a database.
>
> But certainly I am not able to manage it.
>
> A followed the tutorial on elver.org, but I get the following exception
> when the save method of the resource gets called:
>
> 835872 [main] ERROR org.eclipse.emf.teneo.hibernate.HbMapperException -
> Exception when saving resource odm_jobplan
> java.lang.ClassCastException: java.lang.Integer cannot be cast to
> java.lang.Long
> at org.hibernate.type.LongType.set(LongType.java:42)
> at org.hibernate.type.NullableType.nullSafeSet(NullableType.jav a:136)
> at org.hibernate.type.NullableType.nullSafeSet(NullableType.jav a:107)
> at org.hibernate.type.AnyType.nullSafeSet(AnyType.java:144)
> at
> org.hibernate.persister.entity.AbstractEntityPersister.dehyd rate(AbstractEntityPersister.java:1997)
>
> at
> org.hibernate.persister.entity.AbstractEntityPersister.inser t(AbstractEntityPersister.java:2243)
>
> at
> org.hibernate.persister.entity.AbstractEntityPersister.inser t(AbstractEntityPersister.java:2660)
>
> at
> org.hibernate.action.EntityInsertAction.execute(EntityInsert Action.java:56)
> at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:25 0)
> at
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue. java:234)
> at
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue. java:141)
> at
> org.hibernate.event.def.AbstractFlushingEventListener.perfor mExecutions(AbstractFlushingEventListener.java:298)
>
> at
> org.hibernate.event.def.DefaultFlushEventListener.onFlush(De faultFlushEventListener.java:27)
>
> at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
> at
> org.eclipse.emf.teneo.hibernate.HbSessionWrapper.flush(HbSes sionWrapper.java:161)
>
> at
> org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:348)
>
> at
> org.eclipse.emf.teneo.resource.StoreResource.save(StoreResou rce.java:348)
>
>
>
> Here some more trace back:
> 835832 [main] DEBUG org.hibernate.SQL - insert into "ecore_eobject"
> (e_version, econtainer_class, e_container, e_container_featureid,
> "visible", "type", "element_type", "element_id", "name",
> "measurementunit", "dtype", e_id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
> 'Diagram', ?)
> 835832 [main] DEBUG org.hibernate.jdbc.AbstractBatcher - preparing
> statement
> 835842 [main] DEBUG
> org.hibernate.persister.entity.AbstractEntityPersister - Dehydrating
> entity: [Diagram#65539]
> 835842 [main] DEBUG org.hibernate.type.IntegerType - binding '0' to
> parameter: 1
> 835842 [main] DEBUG org.hibernate.type.IntegerType - binding '0' to
> parameter: 4
> 835842 [main] DEBUG org.hibernate.type.BooleanType - binding 'true' to
> parameter: 5
> 835842 [main] DEBUG org.hibernate.type.StringType - binding 'Odm' to
> parameter: 6
> 835842 [main] DEBUG org.hibernate.type.StringType - binding 'Jobplan'
> to parameter: 7
> 835842 [main] DEBUG org.hibernate.type.LongType - binding '32768' to
> parameter: 8
> 835842 [main] INFO org.hibernate.type.LongType - could not bind value
> '32768' to parameter: 8; java.lang.Integer cannot be cast to java.lang.Long
> 835842 [main] DEBUG org.hibernate.jdbc.ConnectionManager - registering
> flush end
>
>
> Persisting my on model "Jobplan" works fine, but persisting the
> "Diagram" doesn't work :(!
>
> Thank you very any help!
>
> Best regards,
> Matthias
>
>


--

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: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #115604 is a reply to message #115353] Tue, 25 March 2008 05:13 Go to previous messageGo to next message
Eclipse UserFriend
Hello Martin!

I dont know Hibernate very well ...

My Ecore model has a base EClass "IdObject" that contains the attribute
"id" of type EInt.
When I change the id attribute to type ELong, everything works fine... My
model instance gets persisted. I followed excatly the turtorial for the
GMF Mindmap editor and so Teneo automatically creates the mapping
definition for Hibernate.

I think the error was a good hint, because long is a better type for an
id.
But why does Hibernate/Teneo only work with long/ELong?!

Best regards,
Matthias
Re: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #115617 is a reply to message #115604] Tue, 25 March 2008 05:15 Go to previous messageGo to next message
Eclipse UserFriend
... and no I don't set the id manually ....
Re: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #115629 is a reply to message #115604] Tue, 25 March 2008 05:23 Go to previous messageGo to next message
Eclipse UserFriend
Hi Matthias,
Teneo/Hibernate should also work fine with int.

You can check the generated mapping if the id is mapped as an int or long (when the id type is int).
Did you annotate the attribute id with the @Id annotation or is its ID ecore property true?

gr. Martin

Matthias wrote:
> Hello Martin!
>
> I dont know Hibernate very well ...
>
> My Ecore model has a base EClass "IdObject" that contains the attribute
> "id" of type EInt.
> When I change the id attribute to type ELong, everything works fine...
> My model instance gets persisted. I followed excatly the turtorial for
> the GMF Mindmap editor and so Teneo automatically creates the mapping
> definition for Hibernate.
>
> I think the error was a good hint, because long is a better type for an
> id. But why does Hibernate/Teneo only work with long/ELong?!
>
> Best regards,
> Matthias
>


--

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: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #115752 is a reply to message #115629] Wed, 26 March 2008 04:01 Go to previous messageGo to next message
Eclipse UserFriend
Hi Martin!

My IdObject.id attribute has the ECore property "ID" set to true.

Best regards,
Matthias
Re: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #115765 is a reply to message #115752] Wed, 26 March 2008 04:15 Go to previous message
Eclipse UserFriend
Hi Matthias,
It is possible that the mapping is wrong (always long instead of int). If you have time can you
check what mapping is generated when the id type is eint?
The mapping can be retrieved from the datastore through the getmappingxml method.

gr. Martin

Matthias wrote:
> Hi Martin!
>
> My IdObject.id attribute has the ECore property "ID" set to true.
>
> Best regards,
> Matthias
>


--

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: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #615950 is a reply to message #115340] Sat, 22 March 2008 16:26 Go to previous message
Eclipse UserFriend
Hi Matthias,
Apparently the id of the JobPlan is an Integer while hibernate expects a Long. Is the id in the
JobPlan entity computed by the db or set by yourselve?

gr. Martin

Matthias wrote:
> Hello!
>
> Thank you very much for implementing the feature to persist the GMF
> diagram to a database.
>
> But certainly I am not able to manage it.
>
> A followed the tutorial on elver.org, but I get the following exception
> when the save method of the resource gets called:
>
> 835872 [main] ERROR org.eclipse.emf.teneo.hibernate.HbMapperException -
> Exception when saving resource odm_jobplan
> java.lang.ClassCastException: java.lang.Integer cannot be cast to
> java.lang.Long
> at org.hibernate.type.LongType.set(LongType.java:42)
> at org.hibernate.type.NullableType.nullSafeSet(NullableType.jav a:136)
> at org.hibernate.type.NullableType.nullSafeSet(NullableType.jav a:107)
> at org.hibernate.type.AnyType.nullSafeSet(AnyType.java:144)
> at
> org.hibernate.persister.entity.AbstractEntityPersister.dehyd rate(AbstractEntityPersister.java:1997)
>
> at
> org.hibernate.persister.entity.AbstractEntityPersister.inser t(AbstractEntityPersister.java:2243)
>
> at
> org.hibernate.persister.entity.AbstractEntityPersister.inser t(AbstractEntityPersister.java:2660)
>
> at
> org.hibernate.action.EntityInsertAction.execute(EntityInsert Action.java:56)
> at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:25 0)
> at
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue. java:234)
> at
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue. java:141)
> at
> org.hibernate.event.def.AbstractFlushingEventListener.perfor mExecutions(AbstractFlushingEventListener.java:298)
>
> at
> org.hibernate.event.def.DefaultFlushEventListener.onFlush(De faultFlushEventListener.java:27)
>
> at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
> at
> org.eclipse.emf.teneo.hibernate.HbSessionWrapper.flush(HbSes sionWrapper.java:161)
>
> at
> org.eclipse.emf.teneo.hibernate.resource.HibernateResource.s aveResource(HibernateResource.java:348)
>
> at
> org.eclipse.emf.teneo.resource.StoreResource.save(StoreResou rce.java:348)
>
>
>
> Here some more trace back:
> 835832 [main] DEBUG org.hibernate.SQL - insert into "ecore_eobject"
> (e_version, econtainer_class, e_container, e_container_featureid,
> "visible", "type", "element_type", "element_id", "name",
> "measurementunit", "dtype", e_id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
> 'Diagram', ?)
> 835832 [main] DEBUG org.hibernate.jdbc.AbstractBatcher - preparing
> statement
> 835842 [main] DEBUG
> org.hibernate.persister.entity.AbstractEntityPersister - Dehydrating
> entity: [Diagram#65539]
> 835842 [main] DEBUG org.hibernate.type.IntegerType - binding '0' to
> parameter: 1
> 835842 [main] DEBUG org.hibernate.type.IntegerType - binding '0' to
> parameter: 4
> 835842 [main] DEBUG org.hibernate.type.BooleanType - binding 'true' to
> parameter: 5
> 835842 [main] DEBUG org.hibernate.type.StringType - binding 'Odm' to
> parameter: 6
> 835842 [main] DEBUG org.hibernate.type.StringType - binding 'Jobplan'
> to parameter: 7
> 835842 [main] DEBUG org.hibernate.type.LongType - binding '32768' to
> parameter: 8
> 835842 [main] INFO org.hibernate.type.LongType - could not bind value
> '32768' to parameter: 8; java.lang.Integer cannot be cast to java.lang.Long
> 835842 [main] DEBUG org.hibernate.jdbc.ConnectionManager - registering
> flush end
>
>
> Persisting my on model "Jobplan" works fine, but persisting the
> "Diagram" doesn't work :(!
>
> Thank you very any help!
>
> Best regards,
> Matthias
>
>


--

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: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #615969 is a reply to message #115353] Tue, 25 March 2008 05:13 Go to previous message
Eclipse UserFriend
Hello Martin!

I dont know Hibernate very well ...

My Ecore model has a base EClass "IdObject" that contains the attribute
"id" of type EInt.
When I change the id attribute to type ELong, everything works fine... My
model instance gets persisted. I followed excatly the turtorial for the
GMF Mindmap editor and so Teneo automatically creates the mapping
definition for Hibernate.

I think the error was a good hint, because long is a better type for an
id.
But why does Hibernate/Teneo only work with long/ELong?!

Best regards,
Matthias
Re: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #615970 is a reply to message #115604] Tue, 25 March 2008 05:15 Go to previous message
Eclipse UserFriend
... and no I don't set the id manually ....
Re: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #615971 is a reply to message #115604] Tue, 25 March 2008 05:23 Go to previous message
Eclipse UserFriend
Hi Matthias,
Teneo/Hibernate should also work fine with int.

You can check the generated mapping if the id is mapped as an int or long (when the id type is int).
Did you annotate the attribute id with the @Id annotation or is its ID ecore property true?

gr. Martin

Matthias wrote:
> Hello Martin!
>
> I dont know Hibernate very well ...
>
> My Ecore model has a base EClass "IdObject" that contains the attribute
> "id" of type EInt.
> When I change the id attribute to type ELong, everything works fine...
> My model instance gets persisted. I followed excatly the turtorial for
> the GMF Mindmap editor and so Teneo automatically creates the mapping
> definition for Hibernate.
>
> I think the error was a good hint, because long is a better type for an
> id. But why does Hibernate/Teneo only work with long/ELong?!
>
> Best regards,
> Matthias
>


--

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: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #615980 is a reply to message #115629] Wed, 26 March 2008 04:01 Go to previous message
Eclipse UserFriend
Hi Martin!

My IdObject.id attribute has the ECore property "ID" set to true.

Best regards,
Matthias
Re: [Teneo] Persisting GMF diagram: Integer cannot be cast to Long [message #615981 is a reply to message #115752] Wed, 26 March 2008 04:15 Go to previous message
Eclipse UserFriend
Hi Matthias,
It is possible that the mapping is wrong (always long instead of int). If you have time can you
check what mapping is generated when the id type is eint?
The mapping can be retrieved from the datastore through the getmappingxml method.

gr. Martin

Matthias wrote:
> Hi Martin!
>
> My IdObject.id attribute has the ECore property "ID" set to true.
>
> Best regards,
> Matthias
>


--

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
Previous Topic:installation problem on 3.3.1.1
Next Topic:[Teneo] Creating/Opening several GMF diagrams
Goto Forum:
  


Current Time: Mon May 12 09:39:29 EDT 2025

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

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

Back to the top