Ciao a tutti ragazzi ho un problemino nel mio ejb dovrei utilizzare una query in linguaggio sql puro non ejbql in quanto la seconda strada mi da un po di problemi relativi ai dati e alla loro aspplicazione, facendo un po di prove ho capito che nel mio caso il modo giusto è utilizzare linguaggio sql ma adesso mi crea un problema di classCastException.
Il mio metodo è questo:
codice:
public List<VRicercaAggrCodMazzetto> findAll() {
return em.createQuery("select code, siglavideo, frazionario, status, creationDate, scanDate, checkDate, name, id from VRicercaAggrCodMazzetto").getResultList();
}
ma quando vado a richiamare dalla jsp il la servlet per visualizzare i dati mi lancia questa eccezione
codice:
10:01:43,808 INFO [TomcatDeployment] deploy, ctxPath=/TT-Monitoring-web
10:02:39,394 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to it.poste.tool.persistence.entities.VRicercaAggrCodMazzetto
at org.apache.jsp.lista_005fcod_005fmazz_jsp._jspService(lista_005fcod_005fmazz_jsp.java:100)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
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 org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:444)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:310)
at it.poste.tool.servlet.findall.FindAllCodMazz_srv.processRequest(FindAllCodMazz_srv.java:45)
at it.poste.tool.servlet.findall.FindAllCodMazz_srv.doGet(FindAllCodMazz_srv.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
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 org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
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:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
La mia servlet è questa:
codice:
try {
List elencoCodMazz = (List) controllerDao.findAllCodMazz();
Iterator i = elencoCodMazz.iterator();
request.setAttribute("elencoCodMazz", i);
request.getRequestDispatcher("/lista_cod_mazz.jsp").forward(request, response);
}
come posso risolvere questo problema di cast?
Lo stesso codice con la query in ejbql non mi restuiva eccezioni
Vi ringrazio a tutti per l'aiuto