Fala Gente!!
Num sistema de loja eletrônica tenho o pedido que é composto por vários itens de pedido. Tô tentando gravar o Item_Pedido, que é um arrayList do Pedido (1-n). Mas tô apanhando. Monto o array e passo como parâmetro para a classe Item_PedidoFacade que fara a persistência do Item_Pedido. A montagem do array e passagem dele aomo argumento ficou assim:
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_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();
}
Tá dando erro na linha em vermelho…
O método criaItem_Pedido é esse:
public String criaItem_Pedido(ArrayList itemPedido[]){
saveItem_Pedido((ArrayList) itemPedido[0]);
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();}
}
Não estou conseguindo resolver. Onde estou errando??
Valeu
:oops: