永发信息网

郁闷了,用hibernate查询出一个集合,里面装的是object 类型的数据,转换实体类型报错,应该怎么转呢?

答案:4  悬赏:20  手机版
解决时间 2021-02-05 20:28
  • 提问者网友:欲望失宠
  • 2021-02-05 12:26
严重: Servlet.service() for servlet action threw exception
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to entity1.QrPreferentialChange
at struts.action.PrAction.getList(PrAction.java:61)
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.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at filter.filter.doFilter(filter.java:29)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-02-05 12:58
假设 List papers = dao.select(); 查出是一个object类型 转法如下.楼主可以参考一下
for (int i = 0; i < papers.size(); i++) {
Object[] objs = (Object[]) papers.get(i);
for (int j = 0; j < objs.length; j++) {
if (objs[j] instanceof Paper) {
return (Paper) objs[j];
}
}
}
全部回答
  • 1楼网友:鸽屿
  • 2021-02-05 14:45
你好请问你是怎样解决这个问题的?
  • 2楼网友:零点过十分
  • 2021-02-05 13:26
用接口了没? 再看看别人怎么说的。
  • 3楼网友:夜风逐马
  • 2021-02-05 13:19
List stockList = this.getHibernateTemplate().find("select s from Stock s, Products p where s.userinfo.username='"+args[4]+"' and p.id="+args[0]+" and s.products.id=p.id "); (Stock)stockList.get(0); 类似这个的 这么转一下呢 我也出现问题 但是最后这样是好的自己也不清楚怎么好的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯