java开源框架集成常见错误之使用Criteria添加查询条件出现java.lang.ClassCastException异常
2009-08-04 13:38
781 查看
问题描述:
使用Criteria添加查询条件criteria.add(Restrictions.eq("chcDueId", pageResult.getCondition().getMcuser()));
出现如下异常
javax.servlet.ServletException: java.lang.ClassCastException: java.lang.String
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.crm.filter.LoginFilter.doFilter(LoginFilter.java:55)
com.crm.filter.MyFilter.doFilter(MyFilter.java:19)
root cause
java.lang.ClassCastException: java.lang.String
org.hibernate.type.LongType.set(LongType.java:42)
org.hibernate.type.NullableType.nullSafeSet(NullableType.java:83)
org.hibernate.type.NullableType.nullSafeSet(NullableType.java:65)
org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1513)
org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1575)
org.hibernate.loader.Loader.doQuery(Loader.java:661)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
org.hibernate.loader.Loader.doList(Loader.java:2144)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
org.hibernate.loader.Loader.list(Loader.java:2023)
org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:95)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
com.crm.common.CommonDaoImpl.listByPage(CommonDaoImpl.java:170)
com.crm.dao.impl.SalChanceDaoImpl.getSalChanceByPageCst(SalChanceDaoImpl.java:92)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
$Proxy5.getSalChanceByPageCst(Unknown Source)
com.crm.biz.impl.SalChanceBizImpl.getSalChanceByPageCst(SalChanceBizImpl.java:48)
com.crm.web.action.SalChanceActionList.doPageListCst(SalChanceActionList.java:87)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.crm.filter.LoginFilter.doFilter(LoginFilter.java:55)
com.crm.filter.MyFilter.doFilter(MyFilter.java:19)
异常原因:
调用方法criteria.add(Restrictions.eq("chcDueId", pageResult.getCondition().getMcuser()))时
chcDueId在实体类里面是Long型的,而通过pageResult.getCondition().getMcuser()方法得到的是String类型的
解决方法:
把pageResult.getCondition().getMcuser()转换为Long型,即:
criteria.add(Restrictions.eq("chcDueId", new Long(pageResult.getCondition().getMcuser())));
使用Criteria添加查询条件criteria.add(Restrictions.eq("chcDueId", pageResult.getCondition().getMcuser()));
出现如下异常
javax.servlet.ServletException: java.lang.ClassCastException: java.lang.String
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.crm.filter.LoginFilter.doFilter(LoginFilter.java:55)
com.crm.filter.MyFilter.doFilter(MyFilter.java:19)
root cause
java.lang.ClassCastException: java.lang.String
org.hibernate.type.LongType.set(LongType.java:42)
org.hibernate.type.NullableType.nullSafeSet(NullableType.java:83)
org.hibernate.type.NullableType.nullSafeSet(NullableType.java:65)
org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1513)
org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1575)
org.hibernate.loader.Loader.doQuery(Loader.java:661)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
org.hibernate.loader.Loader.doList(Loader.java:2144)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
org.hibernate.loader.Loader.list(Loader.java:2023)
org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:95)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
com.crm.common.CommonDaoImpl.listByPage(CommonDaoImpl.java:170)
com.crm.dao.impl.SalChanceDaoImpl.getSalChanceByPageCst(SalChanceDaoImpl.java:92)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
$Proxy5.getSalChanceByPageCst(Unknown Source)
com.crm.biz.impl.SalChanceBizImpl.getSalChanceByPageCst(SalChanceBizImpl.java:48)
com.crm.web.action.SalChanceActionList.doPageListCst(SalChanceActionList.java:87)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.crm.filter.LoginFilter.doFilter(LoginFilter.java:55)
com.crm.filter.MyFilter.doFilter(MyFilter.java:19)
异常原因:
调用方法criteria.add(Restrictions.eq("chcDueId", pageResult.getCondition().getMcuser()))时
chcDueId在实体类里面是Long型的,而通过pageResult.getCondition().getMcuser()方法得到的是String类型的
解决方法:
把pageResult.getCondition().getMcuser()转换为Long型,即:
criteria.add(Restrictions.eq("chcDueId", new Long(pageResult.getCondition().getMcuser())));
相关文章推荐
- Android使用achart绘图框架出现java.lang.NoClassDefFoundError错误解决方式
- Android使用achart绘图框架出现java.lang.NoClassDefFoundError错误解决方式
- Android使用achart绘图框架出现java.lang.NoClassDefFoundError错误解决方式
- Spring-Flex与Hibernate 4集成出现错误 ,java.lang.ClassNotFoundException: org.hibernate.collection.Persisten
- Android使用achart绘图框架出现java.lang.NoClassDefFoundError错误解决方式
- 关于升级ADT22后无法使用jar包、bundle库,出现java.lang.ClassNotFoundException错误的解决
- 使用ant编译Java编程思想出现时 java.lang.UnsupportedClassVersionError: Bad version number in .class问题
- struts2下载文件时出现:java.lang.ClassCastException: java.io.ByteArrayInputStream cannot be cast to 错误
- 关于升级ADT22后出现java.lang.ClassNotFoundException错误的解决
- 安卓使用java mail jar包出现java.lang.NoClassDefFoundError错误解决方案
- S2SH集成,数据库使用mysql,查询的时候出现字符集的错误
- 使用JSON报的一个错误java.lang.ClassNotFoundException
- mybatis出现There is no getter for property named 'XXX' in 'class java.lang.String'错误
- springboot 启动错误 出现Caused by: java.lang.ClassNotFoundException: ch.qos.logback.classic.Level
- 在使用hibernate 和spring 构架的框架中如果出现Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm
- matlab启动时,命令行中出现“java.lang.ClassNotFoundException”错误代码
- 框架 day49 BOS项目练习3(修复window控件BUG,添加/修改/作废取派员,datagrid使用,分页查询(DetachedCriteria离线),formatter函数)
- java开源框架集成常见错误之No bean specified异常
- java开源框架集成常见错误之No Hibernate Session bound to thread
- idea中使用scala运行spark出现Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class