facebook

Hibernate problems with increment

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

    pnvsgupta
    Member

    I have a table with primary key column set as increment in mapping file. I am trying to insert a record into DB and I am getting an error saying “CLASSCAST EXCEPTION Integer”. Please help me in resolving this issue. I have created the class files using Hibernate Reverse engineering option and am using MYSQL DB.

    #266872 Reply

    Haris Peco
    Member

    pnvsgupta,

    Could you please send your mappings and ddl (create table) files and your code for inserting a record ?

    Regards,

    #266883 Reply

    pnvsgupta
    Member

    Hi Peco,
    Please find all the necessary files.
    ——————————————-
    hibernate.cfg.xml
    <?xml version=’1.0′ encoding=’UTF-8′?>
    <!DOCTYPE hibernate-configuration PUBLIC
    “-//Hibernate/Hibernate Configuration DTD 3.0//EN”
    http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”&gt;

    <!– Generated by MyEclipse Hibernate Tools. –>
    <hibernate-configuration>

    <session-factory>
    <property name=”connection.username”>root</property>
    <property name=”connection.url”>
    jdbc:mysql://localhost:3306/sq
    </property>
    <property name=”dialect”>
    org.hibernate.dialect.MySQLDialect
    </property>
    <property name=”show_sql”>true</property>
    <property name=”myeclipse.connection.profile”>SQ</property>
    <property name=”connection.password”>mejenta</property>
    <property name=”connection.driver_class”>
    com.mysql.jdbc.Driver
    </property>
    <property name=”format_sql”>true</property>
    <property name=”jdbc.batch_size”>0</property>
    <mapping resource=”com/msi/sq/admin/User.hbm.xml” />
    <mapping resource=”com/msi/sq/admin/EnterpriseInfo.hbm.xml” />

    </session-factory>

    </hibernate-configuration>
    ——————————————————-
    EnterpriseInfo.hbm.xml
    <?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”&gt;
    <!–
    Mapping file autogenerated by MyEclipse – Hibernate Tools
    –>
    <hibernate-mapping>
    <class name=”com.msi.sq.admin.EnterpriseInfo” table=”sq_enterprise_info” catalog=”sq”>
    <id name=”enterpriseCode” type=”java.lang.Integer”>
    <column name=”ENTERPRISE_CODE” />
    <generator class=”increment”></generator>
    </id>
    <property name=”enterpriseName” type=”java.lang.String”>
    <column name=”ENTERPRISE_NAME” length=”40″ not-null=”true” />
    </property>
    <property name=”addressOne” type=”java.lang.String”>
    <column name=”ADDRESS_ONE” length=”40″ not-null=”true” />
    </property>
    <property name=”addressTwo” type=”java.lang.String”>
    <column name=”ADDRESS_TWO” length=”40″ />
    </property>
    <property name=”city” type=”java.lang.String”>
    <column name=”CITY” length=”30″ not-null=”true” />
    </property>
    <property name=”state” type=”java.lang.String”>
    <column name=”STATE” length=”30″ not-null=”true” />
    </property>
    <property name=”zipCode” type=”java.lang.String”>
    <column name=”ZIP_CODE” length=”10″ not-null=”true” />
    </property>
    <property name=”country” type=”java.lang.String”>
    <column name=”COUNTRY” length=”35″ not-null=”true” />
    </property>
    <property name=”contactName” type=”java.lang.String”>
    <column name=”CONTACT_NAME” length=”25″ />
    </property>
    <property name=”contactPhone” type=”java.lang.String”>
    <column name=”CONTACT_PHONE” length=”15″ not-null=”true” />
    </property>
    <property name=”contactFax” type=”java.lang.String”>
    <column name=”CONTACT_FAX” length=”15″ />
    </property>
    <property name=”contactEmail” type=”java.lang.String”>
    <column name=”CONTACT_EMAIL” length=”40″ />
    </property>
    <property name=”creationDate” type=”java.util.Date”>
    <column name=”CREATION_DATE” length=”19″ not-null=”true” />
    </property>
    </class>
    </hibernate-mapping>
    ———————————————————————————-
    Java Code in EnterpriseInfoDAO.java
    public EnterpriseInfo save(EnterpriseInfo transientInstance) {
    log.info(“saving EnterpriseInfo instance”);
    EnterpriseInfo eInfo=null;
    try {
    getSession().beginTransaction();
    eInfo =(EnterpriseInfo) getSession().save(transientInstance);
    getSession().getTransaction().commit();
    log.info(“save successful”);
    } catch (RuntimeException re) {
    log.error(“save failed”, re);
    re.printStackTrace();
    throw re;
    }
    return eInfo;
    }
    ——————————————————————————–
    DDL

    Create table SQ_ENTERPRISE_INFO (
    ENTERPRISE_CODE Int NOT NULL AUTO_INCREMENT,
    ENTERPRISE_NAME Varchar(40) NOT NULL,
    ADDRESS_ONE Varchar(40) NOT NULL,
    ADDRESS_TWO Varchar(40),
    CITY Varchar(30) NOT NULL,
    STATE Varchar(30) NOT NULL,
    ZIP_CODE Varchar(10) NOT NULL,
    COUNTRY Varchar(35) NOT NULL,
    CONTACT_NAME Varchar(25),
    CONTACT_PHONE Varchar(15) NOT NULL,
    CONTACT_FAX Varchar(15),
    CONTACT_EMAIL Varchar(40),
    CREATION_DATE Timestamp NOT NULL,
    UNIQUE (ENTERPRISE_CODE),
    Primary Key (ENTERPRISE_CODE),
    UNIQUE Index ENT_CODE_IDX (ENTERPRISE_CODE)
    ) ENGINE = MyISAM;

    #266918 Reply

    Haris Peco
    Member

    Have you defined enterpriseCode as java.lang.Integer in your POJO ?

    Regards,

    #267049 Reply

    pnvsgupta
    Member

    Hi Peco,

    I have defined enterpriseCode as Integer and Please find the error log

    25953 [http-8080-Processor24] INFO com.msi.sq.admin.EnterpriseInfoDAO – saving EnterpriseInfo instance
    Hibernate:
    select
    max(ENTERPRISE_CODE)
    from
    sq_enterprise_info
    26047 [http-8080-Processor24] ERROR com.msi.sq.admin.EnterpriseInfoDAO – save failed
    java.lang.ClassCastException: java.lang.Integer
    at com.msi.sq.admin.EnterpriseInfoDAO.save(EnterpriseInfoDAO.java:40)
    at com.msi.sq.admin.action.SubmitRegistrationAction.execute(SubmitRegistrationAction.java:58)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)

    #267059 Reply

    pnvsgupta
    Member

    Please close this issue as I was using

    SqEnterpriseInfo eInfo = (SqEnterpriseInfo)getSession().save(transientInstance);

    in my DAO Class, getSession().save(transientInstance) returns Integer, which I am trying to typecast to my object type and hence, I was getting classcast exception.

    Thank you very much !!!

Viewing 6 posts - 1 through 6 (of 6 total)
Reply To: Hibernate problems with increment

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