facebook

one-to-many mapping classcast exception

  1. MyEclipse Archived
  2.  > 
  3. Database Tools (DB Explorer, Hibernate, etc.)
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #238820 Reply

    telcordia
    Member

    I am getting the following classcast exception and details
    I think the problem is below (is it true)

    <id name=”userInformation” column=”USERID” type=”string”>
    <generator class=”assigned”/>
    </id>
    eclipse and myeclipse are recent downloads 3.1.0SDk and 4.0.0GA respectively

    Exception in thread “main” java.lang.ClassCastException: com.afterdoc.hib.UserInformation
    at org.hibernate.type.StringType.set(StringType.java:24)
    at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:62)
    at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:44)
    at org.hibernate.persister.entity.BasicEntityPersister.getDatabaseSnapshot(BasicEntityPersister.java:866)
    at org.hibernate.engine.PersistenceContext.getDatabaseSnapshot(PersistenceContext.java:302)
    at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:189)
    at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:409)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:82)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:69)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:468)
    at org.hibernate.engine.Cascades$5.cascade(Cascades.java:154)
    at org.hibernate.engine.Cascades.cascadeAssociation(Cascades.java:771)
    at org.hibernate.engine.Cascades.cascade(Cascades.java:720)
    at org.hibernate.engine.Cascades.cascadeCollection(Cascades.java:895)
    at org.hibernate.engine.Cascades.cascadeAssociation(Cascades.java:792)
    at org.hibernate.engine.Cascades.cascade(Cascades.java:720)
    at org.hibernate.engine.Cascades.cascade(Cascades.java:847)
    at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:363)
    at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:265)
    at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:160)
    at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:184)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:173)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:96)
    at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:69)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:468)
    at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:463)
    at com.hib.HibernateTest.main(HibernateTest.java:47)
    ##############################################################

    Below are the cfg xmls for the two tables
    <?xml version=”1.0″ encoding=’UTF-8′?>
    <!DOCTYPE hibernate-mapping PUBLIC
    “-//Hibernate/Hibernate Mapping DTD 3.0//EN”
    http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd&#8221; >

    <!– DO NOT EDIT: This is a generated file that is synchronized –>
    <!– by MyEclipse Hibernate tool integration. –>
    <!– Created Wed Oct 05 21:12:16 EDT 2005 –>
    <hibernate-mapping package=”com.hib”>

    <class name=”UserFavorites” table=”user_favorites”>
    <id name=”userInformation” column=”USERID” type=”string”>
    <generator class=”assigned”/>
    </id>

    <property name=”favId” column=”FAV_ID” type=”string” />
    <property name=”favRemarks” column=”FAV_REMARKS” type=”string” />
    </class>

    </hibernate-mapping>

    <?xml version=”1.0″ encoding=’UTF-8′?>
    <!DOCTYPE hibernate-mapping PUBLIC
    “-//Hibernate/Hibernate Mapping DTD 3.0//EN”
    http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd&#8221; >

    <!– DO NOT EDIT: This is a generated file that is synchronized –>
    <!– by MyEclipse Hibernate tool integration. –>
    <!– Created Wed Oct 05 21:11:09 EDT 2005 –>
    <hibernate-mapping package=”com.hib”>

    <class name=”UserInformation” table=”user_information”>
    <id name=”userid” column=”USERID” type=”string”>
    <generator class=”assigned”/>
    </id>

    <property name=”password” column=”PASSWORD” type=”string” />
    <property name=”username” column=”USERNAME” type=”string” />
    <property name=”state” column=”STATE” type=”string” />
    <property name=”authLevel” column=”AUTH_LEVEL” type=”string” />
    <property name=”comments” column=”COMMENTS” type=”string” />

    <set name=”userFavoritesSet” lazy=”true” inverse=”true” cascade=”save-update”>
    <key column=”USERID”/>
    <one-to-many class=”UserFavorites” />
    </set>
    </class>

    </hibernate-mapping>

    ###################################################################
    tables in mysql:

    `user_favorites` (
    `USERID` varchar(25) NOT NULL,
    `FAV_ID` varchar(25) default NULL,
    `FAV_REMARKS` varchar(5000) default NULL,
    PRIMARY KEY (`USERID`),
    CONSTRAINT `FK1` FOREIGN KEY (`USERID`) REFERENCES `user_information` (`USERID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    `user_information` (
    `USERID` varchar(25) NOT NULL,
    `PASSWORD` varchar(10) default NULL,
    `USERNAME` varchar(50) default NULL,
    `STATE` varchar(20) default NULL,
    `AUTH_LEVEL` varchar(20) default NULL,
    `COMMENTS` varchar(2000) default NULL,
    PRIMARY KEY (`USERID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    #238876 Reply

    Riyad Kalla
    Member

    Were these files all generated by MyEclipse from your DB?

    #238935 Reply

    telcordia
    Member

    Yes all these files are generated by myeclipse from DB Explorer
    right click on table name and generate hibernate cfg xml file

    I changed the below lines
    <class name=”UserFavorites” table=”user_favorites”>
    <id name=”userInformation” column=”USERID” type=”string”>
    <generator class=”assigned”/>
    </id>

    to

    <class name=”UserFavorites” table=”user_favorites”>
    <id name=”USERID” column=”USERID” type=”string”>
    <generator class=”assigned”/>
    </id>
    and added property for userid

    then it worked.
    But I would like to know is it bug in myeclipse or am I doing anything wrong.

    #238950 Reply

    Riyad Kalla
    Member

    It is a generation bug, for some reason it picked up the UserInformation field.

Viewing 4 posts - 1 through 4 (of 4 total)
Reply To: one-to-many mapping classcast exception

You must be logged in to post in the forum log in