论坛首页 入门技术论坛

关于java.lang.ClassCastException: java.lang.String问题

浏览 12698 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-03-05  
最近做一个项目 其中需要整合同事的一个部分 但在这里遇见了很烦躁的问题

如下是异常代码
(67265 ms) [http-8079-2] ERROR: com.sofmit.trms.dao.TShortMsgDAO#save : save failed
java.lang.ClassCastException: java.lang.String
	at org.hibernate.type.TimestampType.deepCopyNotNull(TimestampType.java:66)
	at org.hibernate.type.MutableType.deepCopy(MutableType.java:25)
	at org.hibernate.type.TypeFactory.deepCopy(TypeFactory.java:323)
	at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:255)
	at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:167)
	at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:101)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
	at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
	at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
	at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:530)
	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:518)
	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:514)
	at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:635)
	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372)
	at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:632)
	[color=red]at com.sofmit.trms.dao.TShortMsgDAO.save(TShortMsgDAO.java:42)[/color]
	[color=red]at com.sofmit.trms.struts.action.sendmessage.SendMsgAction.execute(SendMsgAction.java:76)[/color]
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at com.sofmit.trms.util.MyActionServlet.process(MyActionServlet.java:25)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Unknown Source)
(67281 ms) [http-8079-2] WARN : org.apache.struts.action.RequestProcessor#processException : Unhandled Exception thrown: class java.lang.ClassCastException
2008-3-5 11:26:09 org.apache.catalina.core.StandardWrapperValve invoke


其中红色部分报错的代码我发上来 请大家指教一下
at com.sofmit.trms.dao.TShortMsgDAO.save(TShortMsgDAO.java:42)
public void save(TShortMsg transientInstance) {
		log.debug("saving TShortMsg instance");
		try {
			getHibernateTemplate().save(transientInstance);//此处为42行		                  log.debug("save successful");
		} catch (RuntimeException re) {
			log.error("save failed", re);
			throw re;
		}
	}

at com.sofmit.trms.struts.action.sendmessage.SendMsgAction.execute(SendMsgAction.java:76)
shortMsg.setSendTime(sendTime);
		shortMsg.setContent(content);
		shortMsg.setTheme(theme);
		shortMsg.setSenderId(Integer.valueOf(senderid));
		shortMsg.setTPerson(user);
		shortMsg.setExistStatus(1);
		shortMsg.setReadStatus(1);
		
		shortmsgdao.save(shortMsg);//此处为76行,这是一个action中给予对象赋值然后保存的作用


自己在网上找了很多相关的资料和请教没有得到太好的回答,希望各位能一点建议,谢谢

   发表时间:2008-03-05  
sendTime
这个是什么类型
0 请登录后投票
   发表时间:2008-03-05  
at org.hibernate.type.TimestampType.deepCopyNotNull(TimestampType.java:66) 

应该是timestamp和string的类型问题
换一下试试
0 请登录后投票
   发表时间:2008-03-06  
大哥能不能稍微详细一点说一下 完全没明白啊
0 请登录后投票
   发表时间:2008-03-06  
sendTime 是 Date
0 请登录后投票
   发表时间:2008-03-06  
fancool 写道
大哥能不能稍微详细一点说一下 完全没明白啊

瀑布汗....
你用string的类型向Timestamp转型.....
java不让.
0 请登录后投票
   发表时间:2008-03-06  
抛哥 你终于出现了啊 我看一下
0 请登录后投票
   发表时间:2008-03-06  
抛哥 能不能给我说一下该怎么改啊 我不明白
当我笨吧 指点一下
0 请登录后投票
   发表时间:2008-03-06  
是啊是啊
"抛哥"
您就救人救到底 送佛送到西吧
0 请登录后投票
   发表时间:2008-03-06  
  help me!
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics