java.lang.ClassCastException: java.sql.Timestamp cannot be cast to java.sql.Date
at com.sun.rowset.CachedRowSetImpl.getTimestamp(CachedRowSetImpl.java:2269)
at com.sun.rowset.CachedRowSetImpl.getTimestamp(CachedRowSetImpl.java:2713)
at com.dhcc.emergency.res.service.impl.ResUnitServiceImpl.querySuccorInfo(ResUnitServiceImpl.java:180)
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:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
at $Proxy56.querySuccorInfo(Unknown Source)
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:597)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:421)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:884)
at flex.messaging.endpoints.AbstractEndpoint$$FastClassByCGLIB$$1a3ef066.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.flex.core.MessageInterceptionAdvice.invoke(MessageInterceptionAdvice.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:126)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$FixedChainStaticTargetInterceptor.intercept(Cglib2AopProxy.java:582)
at flex.messaging.endpoints.AMFEndpoint$$EnhancerByCGLIB$$6730cd2a.serviceMessage(<generated>)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)
at flex.messaging.endpoints.AMFEndpoint$$EnhancerByCGLIB$$6730cd2a.service(<generated>)
at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:101)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:523)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:463)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

解决方案 »

  1.   

    java.sql.Date--->java.sql.Timestamp
    new java.sql.Timestamp(yourDate.getTime());java.sql.Timestamp-->java.sql.Date
    new java.sql.Date(yourTimestamp.getTime());
      

  2.   

    我试过了,不行啊 res.setOperateTime(new java.sql.Date(rs.getTimestamp("operateTime").getTime()));
      

  3.   

    import java.sql.Timestamp;
    import java.util.Date;public class Temp{
    public static void main(String[] args) throws Exception{
    long s = System.currentTimeMillis();
    Date date = new Timestamp(s); System.out.println(date.getTime());
    }
    }java.sql.Timestamp 是 java.util.Date 的子类,可以转.
    不知道你实际代码是怎么写的.
      

  4.   

    这个是从Oracle数据库里边取出来的字段:operateTime,是DATE类型的
      

  5.   


      String str = sql.substring(0,sql.length()-10); 
            StringBuffer sql1 = new StringBuffer("select  resId,unCode,resName,resType,principalName,principalTel,longitude,latitude,districtid,supervisalDept,address" +
                     ",dutyTel,fax,email,postCode,resSort,reportState,surveyOpinion,surveyName,surveyState,reportUnit" +
                     ",examineTime,notes,examineId,gisType,operateTime,succorTimes,examineName,examineReason,thumbname " +
             " from ("+str+") where 1=1 "+QueryObject.creatSql(values));
            PageSupport ps = jqm.getRowSet(sql1.toString(), pageNo, pageSize);
            RowSet rs = ps.getRowSet();
            while(rs.next()){
             ResResource res = new ResResource();
             res.setResId(rs.getString("resId"));                  
             res.setResName(rs.getString("resName"));
             res.setDistrictid((DictContent)queryManager.get(DictContent.class, rs.getString("districtid")));
             res.setSupervisalDept((Department)queryManager.get(Department.class, rs.getString("supervisalDept")));
             res.setReportUnit((Department)queryManager.get(Department.class, rs.getString("reportUnit")));
             res.setAddress(rs.getString("address"));
             res.setSurveyOpinion(rs.getString("surveyOpinion"));
             res.setEmail(rs.getString("email"));
             res.setDutyTel(rs.getString("dutyTel"));
             res.setExamineId(rs.getString("examineId"));
             res.setExamineName(rs.getString("examineName"));
             res.setExamineReason(rs.getString("examineReason"));
             if(rs.getDate("examineTime")!=null){
             res.setExamineTime(new java.sql.Date(rs.getDate("examineTime").getTime()));
             }
             res.setFax(rs.getString("fax"));
             res.setGisType(rs.getString("gisType"));
             res.setLatitude(rs.getDouble("latitude"));
             res.setLongitude(rs.getDouble("longitude"));
             //这是ResResource特有的类属性
             Set<DictContent> set=new HashSet<DictContent>();
             /********查询物资对应的类型*****************/
             String rescource_sql="select a.dictcontentid as dictcontentid from res_material_dictcontent a where a.resourceid='"+res.getResId()+"'";
             PageSupport resource_ps = jqm.getRowSet(rescource_sql, pageNo, pageSize);  
            RowSet resource_rs = resource_ps.getRowSet();
            while(resource_rs.next()){
             DictContent d=(DictContent)queryManager.get(DictContent.class, resource_rs.getString("dictcontentid"));
             set.add(d);
            }
             res.setComplexType(set);
             /***查询表Res_Resource里边的属性值***/
             String res_Sql="select a.materialDesc as materialDesc,a.materialNum as materialNum,a.measureUnit as measureUnit,a.storeName as storeName from res_resource a where a.resourceid='"+res.getResId()+"'";
             PageSupport res_ps = jqm.getRowSet(res_Sql, pageNo, pageSize);  
            RowSet res_rs = res_ps.getRowSet();
            while(res_rs.next()){
             res.setMaterialDesc(res_rs.getString("materialDesc"));
             res.setMaterialNum(res_rs.getString("materialNum"));
             res.setMeasureUnit(res_rs.getString("measureUnit"));
             res.setStoreName(res_rs.getString("storeName"));
            }
            
            /*********查询资源里边的应急分类*******************/
            String classification_Sql="select dictContentId from ressort_dictcontent  where resId='"+res.getResId()+"'";
            PageSupport classification_ps = jqm.getRowSet(classification_Sql, pageNo, pageSize); 
            RowSet classification_rs = classification_ps.getRowSet();
            Set<DictContent> cf_set=new HashSet<DictContent>();
            while(classification_rs.next()){
             DictContent d=(DictContent)queryManager.get(DictContent.class, resource_rs.getString("dictcontentid"));
             cf_set.add(d);
            }
            res.setClassification(cf_set);
            res.setPrincipalTel(rs.getString("principalTel"));
             res.setNotes(rs.getString("notes"));
             res.setPostCode(rs.getString("postCode"));
             res.setPrincipalName(rs.getString("principalName"));
             res.setUnCode(rs.getString("unCode"));
             res.setSurveyState(rs.getString("surveyState"));
             res.setSuccorTimes(rs.getString("succorTimes"));
             res.setReportState(rs.getString("reportState"));
    //          if(new Date(rs.getDate("operateTime").toString())!=null){
                 // res.setOperateTime(new Date(rs.getTimestamp("operateTime").getTime()));
    //          }
             System.out.println(rs.getTimestamp("operateTime").getTime());
             res.setResSort(resSort);
             res.setThumbname(rs.getString("thumbname"));
             res.setSurveyName(rs.getString("surveyName"));
             li.add(res);
    }
            ps.setList(li);
            return ps;
            
    }
    else{
    return findAllResUnit(values,valuesEquip,pageNo,pageSize,resSort);

    }