Pessoal bom dia!!
Estou apanhando para fazer a gravação em banco com o hibernate de um ArrayList. A relação é 1-n, vários item_pedido, para cada pedido.
Preencher o Array tudo bem, mas não estou conseguindo gravar os item_pedido
Metodo de criação do ArrayList:
public synchronized void CriaPedido(Pedido pedido,
CarrinhoCompra carrinhoCompra, Correntista cfAux) {
pedido.setCorrentista(cfAux);
Status_PedidoFacade statusPedidoFacade = new Status_PedidoFacade();
pedido.setStatus_pedido(statusPedidoFacade.findByDescricao("aberto"));
pedido.setValor_total(carrinhoCompra.getValor_total_item());
ArrayList itemPedido = new ArrayList();
try {
HibernateUtil.beginTransaction();
Session session = HibernateUtil.currentSession();
Iterator itensCompra = carrinhoCompra.getItensCompra().iterator();
while (itensCompra.hasNext()) {
Item_Pedido item = (Item_Pedido) itensCompra.next();
itemPedido.add(itensCompra);
item.setProduto(item.getProduto());
item.setQuantidade(item.getQuantidade());
item.setValor_item(item.getValor_item());
item.setValor_total_item(carrinhoCompra.getValor_total_item());
}
}
catch (Exception e) {
}
this.savePedido(pedido);
Item_PedidoFacade itemPedidoFacade = new Item_PedidoFacade();
itemPedidoFacade.criaItem_Pedido((ArrayList) itemPedido);
HibernateUtil.commitTransaction();
}
O Método criaItem_Pedido:
public String criaItem_Pedido(ArrayList[] itemPedido){
saveItem_Pedido((ArrayList[]) itemPedido);
return "item_pedido_criado";
}
O método saveItem_Pedido:
public void saveItem_Pedido(ArrayList[] itemPedido) {
try{
HibernateUtil.beginTransaction();
Session session = HibernateUtil.currentSession();
for(int i =0; i < itemPedido.length; i++){
session.save((ArrayList[]) itemPedido);
HibernateUtil.commitTransaction();
addMessage("Insert Item_Pedido Ok.");
}
}catch(HibernateException e){
//addMessage("Erro insert Item_Pedido!");
throw e;
}finally{HibernateUtil.closeSession();}
}
O pedido, grava normalmente, mas ao tentar gravar o item_pedido, me traz o seguinte stackTrace:
2007-09-14 09:57:47,765 [http-8084-Processor23] ERROR com.sun.faces.lifecycle.InvokeApplicationPhase - java.lang.NoSuchMethodError: beans.Item_PedidoFacade.criaItem_Pedido(Ljava/util/ArrayList;)Ljava/lang/String;
javax.faces.el.EvaluationException: java.lang.NoSuchMethodError: beans.Item_PedidoFacade.criaItem_Pedido(Ljava/util/ArrayList;)Ljava/lang/String;
at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
at javax.faces.component.UICommand.broadcast(UICommand.java:305)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at util.Filtro.doFilter(Filtro.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NoSuchMethodError: beans.Item_PedidoFacade.criaItem_Pedido(Ljava/util/ArrayList;)Ljava/lang/String;
at beans.PedidoFacade.CriaPedido(PedidoFacade.java:96)
at loja.AppActionListener.processAction(AppActionListener.java:80)
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:585)
at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
... 27 more
2007-09-14 09:57:47,781 [http-8084-Processor23] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/svo].[Faces Servlet] - Servlet.service() for servlet Faces Servlet threw exception
javax.faces.el.EvaluationException: java.lang.NoSuchMethodError: beans.Item_PedidoFacade.criaItem_Pedido(Ljava/util/ArrayList;)Ljava/lang/String;
at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
at javax.faces.component.UICommand.broadcast(UICommand.java:305)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at util.Filtro.doFilter(Filtro.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NoSuchMethodError: beans.Item_PedidoFacade.criaItem_Pedido(Ljava/util/ArrayList;)Ljava/lang/String;
at beans.PedidoFacade.CriaPedido(PedidoFacade.java:96)
at loja.AppActionListener.processAction(AppActionListener.java:80)
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:585)
at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
... 27 more
Se puderem me ajudar, agradeço.[/quote]