-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Invalid data conversion when switching from Sets to Lists
PostPosted: Tue Feb 06, 2007 10:19 am 
Newbie

Joined: Wed Jul 05, 2006 2:26 pm
Posts: 5
Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp

Hibernate version:
3.2 GA

Mapping documents:
Using Annotations

Code between sessionFactory.openSession() and session.close():
Using Springs HibernateTemplate

Full stack trace of any exception that occurs:
Code:
2007-02-06 08:18:46,955 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/eswd].[action]] Servlet.service() for servlet action threw exception
org.hibernate.exception.GenericJDBCException: could not load an entity: [com.bofa.esm.dataaccess.apengine.vo.ActivityPlanCompositeStatusVO#1170767924301]
   at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
   at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
   at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
   at org.hibernate.loader.Loader.loadEntity(Loader.java:1798)
   at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
   at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
   at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2977)
   at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:393)
   at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:374)
   at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:137)
   at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:193)
   at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:101)
   at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
   at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846)
   at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
   at org.hibernate.type.EntityType.resolve(EntityType.java:303)
   at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
   at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
   at org.hibernate.loader.Loader.doQuery(Loader.java:717)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
   at org.hibernate.loader.Loader.doList(Loader.java:2144)
   at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
   at org.hibernate.loader.Loader.list(Loader.java:2023)
   at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:393)
   at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
   at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
   at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
   at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
   at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:839)
   at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:362)
   at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:830)
   at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:826)
   at com.bofa.esm.dataaccess.apengine.dao.HibernateActivityPlanStatusDaoImpl.findByCompositePlanId(HibernateActivityPlanStatusDaoImpl.java:30)
   at com.bofa.esm.swd.eswd.status.EswdStatusFacade.getRegionalPlansForComposite(EswdStatusFacade.java:348)
   at com.bofa.esm.swd.common.view.action.ActivityPlanStatusActions.planId(ActivityPlanStatusActions.java:67)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
   at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
   at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
   at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
   at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
   at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
   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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
   at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
   at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
   at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
   at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
   at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
   at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
   at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
   at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
   at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
   at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
   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.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
   at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
   at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
   at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419)
   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.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
   at java.lang.Thread.run(Thread.java:595)
Caused by: com.ibm.db2.jcc.c.zd: Invalid data conversion:Requested conversion would result in a loss of precision of 1170767924842
   at com.ibm.db2.jcc.c.q.d(q.java:1403)
   at com.ibm.db2.jcc.c.r.E(r.java:934)
   at com.ibm.db2.jcc.c.rc.getInt(rc.java:682)
   at com.ibm.db2.jcc.c.rc.getInt(rc.java:1155)
   at org.jboss.resource.adapter.jdbc.WrappedResultSet.getInt(WrappedResultSet.java:692)
   at org.hibernate.type.IntegerType.get(IntegerType.java:28)
   at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)
   at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)
   at org.hibernate.persister.collection.AbstractCollectionPersister.readIndex(AbstractCollectionPersister.java:708)
   at org.hibernate.collection.PersistentList.readFrom(PersistentList.java:358)
   at org.hibernate.loader.Loader.readCollectionElement(Loader.java:994)
   at org.hibernate.loader.Loader.readCollectionElements(Loader.java:634)
   at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:579)
   at org.hibernate.loader.Loader.doQuery(Loader.java:689)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
   at org.hibernate.loader.Loader.loadEntity(Loader.java:1784)


Name and version of the database you are using:
DB2 8.something...

The generated SQL (show_sql=true):
Code:
select
        activitypl0_.PLAN_ID as PLAN1_23_,
        activitypl0_.START_TIME as START2_23_,
        activitypl0_.STATUS as STATUS23_,
        activitypl0_.REGION_NUMBER as REGION4_23_,
        activitypl0_.COMPLETION_TIME as COMPLETION5_23_,
        activitypl0_.NUM_ENDPOINTS as NUM6_23_,
        activitypl0_.COMP_PLAN_ID as COMP7_23_
    from INV4.ASM_ACT_PLAN activitypl0_
    where activitypl0_.COMP_PLAN_ID=?
select
        activitypl0_.COMP_PLAN_ID as COMP1_22_4_,
        activitypl0_.START_TIME as START2_22_4_,
        activitypl0_.CONTROLLING_GRP as CONTROLL3_22_4_,
        activitypl0_.STATUS as STATUS22_4_,
        activitypl0_.ORIGINATING_APP as ORIGINAT5_22_4_,
        activitypl0_.COMPLETION_TIME as COMPLETION6_22_4_,
        activitypl0_.DEADLINE as DEADLINE22_4_,
        activitypl0_.JOB_DISABLED as JOB8_22_4_,
        activitypl0_.JOB_NAME as JOB9_22_4_,
        activitypl0_.PRINCIPAL_ID as PRINCIPAL10_22_4_,
        activitypl0_.SCHEDULED_START_TIME as SCHEDULED11_22_4_,
        activitypl1_.COMP_PLAN_ID as COMP7_6_,
        activitypl1_.PLAN_ID as PLAN1_6_,
        activitypl1_.PLAN_ID as PLAN1_23_0_,
        activitypl1_.START_TIME as START2_23_0_,
        activitypl1_.STATUS as STATUS23_0_,
        activitypl1_.REGION_NUMBER as REGION4_23_0_,
        activitypl1_.COMPLETION_TIME as COMPLETION5_23_0_,
        activitypl1_.NUM_ENDPOINTS as NUM6_23_0_,
        activitypl1_.COMP_PLAN_ID as COMP7_23_0_,
        activityst2_.PLAN_ID as PLAN10_7_,
        activityst2_.STATUS_ID as STATUS1_7_,
        activityst2_.EXECUTE_ORDER as EXECUTE8_7_,
        activityst2_.STATUS_ID as STATUS1_25_1_,
        activityst2_.PRIORITY as PRIORITY25_1_,
        activityst2_.START_TIME as START3_25_1_,
        activityst2_.STATUS as STATUS25_1_,
        activityst2_.COMPLETION_TIME as COMPLETION5_25_1_,
        activityst2_.PLAN_ID as PLAN10_25_1_,
        activityst2_.ACTIVITY_NAME as ACTIVITY6_25_1_,
        activityst2_.ERROR_INFO as ERROR7_25_1_,
        activityst2_.EXECUTE_ORDER as EXECUTE8_25_1_,
        activityst2_.APPL_SPEC_ACT_ID as APPL9_25_1_,
        activitypl3_.PLAN_ID as PLAN6_8_,
        activitypl3_.RECORD_ID as RECORD1_8_,
        activitypl3_.RECORD_ID as RECORD1_24_2_,
        activitypl3_.TARGET_NAME as TARGET2_24_2_,
        activitypl3_.APPLICATION as APPLICAT3_24_2_,
        activitypl3_.PRINCIPAL_ID as PRINCIPAL4_24_2_,
        activitypl3_.PROFILE as PROFILE24_2_,
        activitypl3_.PLAN_ID as PLAN6_24_2_,
        rdsvalidat4_.RECORD_ID as RECORD1_26_3_,
        rdsvalidat4_.COMP_PLAN_ID as COMP2_26_3_,
        rdsvalidat4_.AMBIG_ENDPOINT as AMBIG3_26_3_,
        rdsvalidat4_.ENDPOINT_AUTH_FAILURE as ENDPOINT4_26_3_,
        rdsvalidat4_.PKG_AUTH_FAILURE as PKG5_26_3_,
        rdsvalidat4_.PKG_NOT_ON_TMR as PKG6_26_3_,
        rdsvalidat4_.UNKNOWN_ENDPOINTS as UNKNOWN7_26_3_,
        rdsvalidat4_.VALIDATION_TYPE as VALIDATION8_26_3_
    from INV4.ASM_ACT_PLAN_COMPOSITE activitypl0_ left
    outer join INV4.ASM_ACT_PLAN activitypl1_ on activitypl0_.COMP_PLAN_ID=activitypl1_.COMP_PLAN_ID
    left outer join INV4.ASM_ACT_STATUS activityst2_ on activitypl1_.PLAN_ID=activityst2_.PLAN_ID
    left outer join INV4.ASM_ACT_PLAN_TARGETS activitypl3_ on activitypl1_.PLAN_ID=activitypl3_.PLAN_ID
    left outer join INV4.ASM_RDS_VALIDATION rdsvalidat4_ on activitypl0_.COMP_PLAN_ID=rdsvalidat4_.RECORD_ID
    where activitypl0_.COMP_PLAN_ID=?


Debug level Hibernate log excerpt:
Not sure...


I was trying to switch out two OneToMany associations from Sets to Lists, but when I did that an unrelated ManyToOne started throwing the above exception when I try to load.

The OneToMany's look like:
Code:
    /**
    * @return Returns the activityStatuses.
    *
    */
   @OneToMany(mappedBy = "activityPlanStatus", targetEntity = ActivityStatusVO.class, fetch = FetchType.EAGER)
   @org.hibernate.annotations.IndexColumn(name="EXECUTE_ORDER")
   @org.hibernate.annotations.Cascade( {
         org.hibernate.annotations.CascadeType.ALL,
         org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
   public List<ActivityStatusVO> getActivityStatuses() {
      return activityStatuses;
   }

   /**
    * @param activityStatuses
    *            The activityStatuses to set.
    */
   public void setActivityStatuses(List<ActivityStatusVO> activityStatuses) {
      this.activityStatuses = activityStatuses;
   }

    /**
    * @return Returns the activityPlanTargets.
    *
    */
   @OneToMany(mappedBy = "activityPlanStatus", targetEntity = ActivityPlanTargetVO.class, fetch = FetchType.EAGER)
   @org.hibernate.annotations.IndexColumn(name="RECORD_ID")
   @org.hibernate.annotations.Cascade( {
         org.hibernate.annotations.CascadeType.ALL,
         org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
   public List<ActivityPlanTargetVO> getActivityPlanTargets() {
      return activityPlanTargets;
   }

   /**
    * @param activityPlanTargets
    *            The activityPlanTargets to set.
    */
   public void setActivityPlanTargets(
         List<ActivityPlanTargetVO> activityPlanTargets) {
      this.activityPlanTargets = activityPlanTargets;
   }


And the ManyToOne:
Code:
/**
    * @return Returns the activityPlanCompositeStatus.
    */
   @ManyToOne
   @JoinColumn(name = "COMP_PLAN_ID")
   public ActivityPlanCompositeStatusVO getActivityPlanCompositeStatus() {
      return activityPlanCompositeStatus;
   }

   /**
    * @param activityPlanCompositeStatus
    *            The activityPlanCompositeStatus to set.
    */
   public void setActivityPlanCompositeStatus(
         ActivityPlanCompositeStatusVO activityPlanCompositeStatus) {
      this.activityPlanCompositeStatus = activityPlanCompositeStatus;
   }


The ManyToOne is joined on a DB2 BIGINT, and the ID on the One-side is a Long. It seems from the stack trace that Hibernate is trying to convert this to an Integer instead, hence the loss of precision error. Not sure how to fix this, however.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.