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:
ma quando vado a richiamare dalla jsp il la servlet per visualizzare i dati mi lancia questa eccezionecodice:public List<VRicercaAggrCodMazzetto> findAll() { return em.createQuery("select code, siglavideo, frazionario, status, creationDate, scanDate, checkDate, name, id from VRicercaAggrCodMazzetto").getResultList(); }
La mia servlet è questa: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)
come posso risolvere questo problema di cast?codice:try { List elencoCodMazz = (List) controllerDao.findAllCodMazz(); Iterator i = elencoCodMazz.iterator(); request.setAttribute("elencoCodMazz", i); request.getRequestDispatcher("/lista_cod_mazz.jsp").forward(request, response); }
Lo stesso codice con la query in ejbql non mi restuiva eccezioni
Vi ringrazio a tutti per l'aiuto

Rispondi quotando
