HibernateTemplate删除方式 org.hibernate.MappingException: Unknown entity: java.lang.Long

控制台打印:

[xhtml] view plain copy
  1. relayStationIds--------------322,321,320,319,  
  2. ids[0]--------------322  
  3. id[0]-------------322  
  4. 2011-5-10 17:00:46 org.apache.struts.chain.commands.AbstractExceptionHandler execute  
  5. 警告: Unhandled exception  
  6. org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: java.lang.Long; nested exception is org.hibernate.MappingException: Unknown entity: java.lang.Long  
  7.     ...   
  8.     ...  
  9. Caused by: org.hibernate.MappingException: Unknown entity: java.lang.Long  
  10.     ...   
  11.     ...  
  12.     ... 65 more  
  13. 2011-5-10 17:00:46 org.apache.struts.chain.commands.ExceptionCatcher postprocess  
  14. 警告: Exception from exceptionCommand 'servlet-exception'  
  15. org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: java.lang.Long; nested exception is org.hibernate.MappingException: Unknown entity: java.lang.Long  
  16.     ...   
  17.     ...  
  18. Caused by: org.hibernate.MappingException: Unknown entity: java.lang.Long  
  19.     ...   
  20.     ...  
  21.     ... 65 more  

报异常的代码:

  1. public void deleteRelayStationById(long id) throws GISException {  
  2.     this.getHibernateTemplate().delete(new Long(id));  
  3.       
  4.       
  5. }  

解决方法:传入实体对象

  1. public void deleteRelayStationById(long id) throws GISException {  
  2.         RelayStation rs = new RelayStation();  
  3.         rs.setRelayStationId(new Long(id));  
  4.         this.getHibernateTemplate().delete(rs);               
  5.     }  

明显可以看出,HibernateTemplate是通过删除对象的方式来删除的,简单的传入一个属性,就会报以上异常。

因此需要将属性set到实体对象中,然后通过在delete()方法中传入实体对象即可实现删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1 at org.hibernate.jdbc.Expectations$BasicExpectation.checkBatched(Expectations.java:61) at org.hibernate.jdbc.Expectations$BasicExpectation.verifyOutcome(Expectations.java:46) at org.hibernate.jdbc.BatchingBatcher.checkRowCounts(BatchingBatcher.java:68) at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48) at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:140) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298) at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41) at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969) at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1690) at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142) at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152) at com.sinosoft.sysframework.persistence.HibernateSQLQuery.doInHibernate(HibernateSQLQuery.java:118) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366) at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:338) at com.sinosoft.sysframework.persistence.BaseDaoHibernateImpl.queryList(BaseDaoHibernateImpl.java:224) at com.sinosoft.application.reins.persistence.hibernate.base.GrRePlanItemDaoHibernateImplBase.find(GrRePlanItemDaoHibernateImplBase.java:127) at com.sinosoft.application.reins.service.spring.GrTrialServiceSpringImpl.endorTrialDataSurrender(GrTrialServiceSpringImpl.java:9536) at com.sinosoft.application.reins.service.
最新发布
06-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值