Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Tabela Pedidos

Salve devs, acompanhado o curso eu estou usando o MySql como DB, e ao rodar o codigo verifiquei que o mesmo ficou com um bug, na Tabela pedidos ao rodar o codigo não ficava salvo o valorTotal ele aparecia apenas no item pedido ai pra resolver eu fiz assim

public void adicionarItem(ItemPedido item) {
        item.setPedido(this);
        itens.add(item);
        this.valorTotal = item.getPrecoUnitario();
    }

Agora temos o valor do item no pedido e no itens_pedido

1 resposta
solução!

Esse seu código só funciona em casos em que você só tá inserindo 1 item no pedido (Pois não faz a soma de todos os itens, só atribui o valor do último item) e em casos onde se tem apenas 1 unidade do item inserido (Pois não multiplica o valor pela quantidade de itens inseridos). Como solução, segue o meu código:

public void adicionarItem(ItemPedido item){
        item.setPedido(this);
        this.itens.add(item);
        BigDecimal qtdDeItens = item.getQuantidade();
        BigDecimal precoUnitarioXqtd = (item.getPrecoUnitario()).multiply(qtdDeItens);

        this.valorTotal = valorTotal.add(precoUnitarioXqtd);
    }

Obs: Alterei o atributo "Quantidade" de Int para BigDecimal, deste jeito não preciso fazer a conversão dentro deste método. Acredito que esta não seja a melhor prática, visto que em um sistema real não teria como adicionar 1.5 itens, porém já quebra o galho.