![](/img/trans.png)
[英]java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
[英]java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.sakhnin.classes.MonthlySummary
我正在尝试打印此MonthlyReport中的所有日期并获得此异常。
严重:servlet showMettingReports的Servlet.service()引发了异常java.lang.ClassCastException:[Ljava.lang.Object; 无法转发到org.apache.jsp.jspFiles.showMettingReports_jsp._jspService(howMettingReports_jsp.java:150)的com.sakhnin.classes.MonthlySummary org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at位于org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)的javax.servlet.http.HttpServlet.service(HttpServlet.java:725)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet。 java:396)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)at org.apache.catalina.core.ApplicationFilterChain的javax.servlet.http.HttpServlet.service(HttpServlet.java:725) .internalDoFilter(ApplicationFilterChain.java:291)org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)org.apache.catalina.core.ApplicationFilterChain.doFilt 呃(ApplicationFilterChain.java:206)org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:466)atg.apache .catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)atg.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)at com.sakhnin.implementations.Controller.doGet(Controller.java:140) )在javax.servlet.http.HttpServlet.service(HttpServlet.java:618)的javax.servlet.http.HttpServlet.service(HttpServlet.java:725)org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain。 java:291)org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)org.apache.catalina .core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)org.apache.catalina.core.Ap plicationFilterChain.doFilter(ApplicationFilterChain.java:206)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)atg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)at org .apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve) .java:79)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)org.apache.catalina。 conne.CoyoteAdapter.service(CoyoteAdapter.java:537)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:658)在org.apache.coyote.http11.Http11NioProtocol $ Http11Connection Handler.process(Http11NioProtocol.java:222)org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1566)org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run( NioEndpoint.java:1523)java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)at org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable .run(TaskThread.java:61)at java.lang.Thread.run(Unknown Source)
java.lang.ClassCastException:[Ljava.lang.Object; 不能转换为com.sakhnin.classes.MonthlySummary
MonthlySummary.java
public class MonthlySummary {
@Id
private String Date;
private int Cost;
private String Place;
private String Start;
private String End;
private String Description;
private int MentorID;
public MonthlySummary() {
// TODO Auto-generated constructor stub
}
public MonthlySummary(String place, String date, String start, String end,
String description, int cost, int mentorID) {
super();
Place = place;
Date = date;
Start = start;
End = end;
Description = description;
Cost = cost;
MentorID = mentorID;
}
MonthlySummaryIMP.java
public List<MonthlySummary> getMentorReportsById(int id) {
List<MonthlySummary> reports=null;
try{
session = factory.openSession();
session.beginTransaction();
// Fetch all active coupons whose businesses' parent's category is as got in the argument
SQLQuery query = session.createSQLQuery("SELECT * FROM MonthlySummary WHERE MentorID="+id );
reports = query.list();
closeSession();
}
catch(HibernateException e){
System.err.println(e.getMessage());
}
catch(Exception e){
System.err.println(e.getMessage());
}
return reports;
}
jsp文件
<tbody>
<%
List<MonthlySummary> m = (List<MonthlySummary>)request.getSession().getAttribute("meetingsReports");
for(MonthlySummary report : m) {
%>
<td>Date<%=report.getDate() %></td>
<td>Date<%=report.getPlace()%></td>
<td>Date<%=report.getStart()%></td>
<td>Date<%=report.getEnd()%></td>
<td>Date<%=report.getDescription() %></td>
<td>Date<%=report.getCost()%></td>
<%
}
%>
</tbody>
要避免此类ClassCastException
,您需要将Entity添加到查询对象中。 试试以下 -
SQLQuery query = session.createSQLQuery("SELECT * FROM MonthlySummary WHERE MentorID="+id );
query.addEntity(MonthlySummary.class);
reports = query.list();
--rest of code
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.