@aboult escreveu:
Boa tarde.
Estou tendo um problema (EntityExistsException) ao tentar zerar um ArrayList, recarregá-lo com novos dados e gravar ao final do processo completo do form.
A situação seria a seguinte, eu tenho uma coleção de PedidoItem em minha entidade Pedido:
@OneToMany(cascade = CascadeType.ALL, mappedBy = "pedido", orphanRemoval = true) private List<PedidoItem> itens;
Essa coleção já vem carregada, mas o usuário pode trocar a Nota de Origem vinculada e recarregar os itens, então estava tentando zerar o ArrayList e preenchê-lo com as novas informações.
Mas neste momento, não posso efetivar a remoção dos itens, pois o usuário pode vincular uma nova Nota e simplesmente cancelar a alteração do Pedido.
pedido.setItens(new ArrayList<>()); nfeFiltro.getProdutos().stream() .forEach(nfeProduto -> { PedidoItem pedidoItem = new PedidoItem(); pedidoItem.setPedido(pedido); PedidoItemId pedidoItemId = new PedidoItemId(); pedidoItemId.setPedidoLinha(nfeProduto.getId().getNfeNumeroDoItem()); pedidoItem.setId(pedidoItemId);
Como eu poderia resolver esta situação? Eu já manipulei o EqualsAndHashCode do PedidoItem e fiz outras alterações que não resolveram.
A única forma que consegui resolver, foi fazendo o que não queria. Usando o em.remove() para cada item da lista antes de recarregá-la.
Obrigado desde já.
Mensagens: 3
Participantes: 2