How to update object using Entity manager?

Asked

Viewed 79 times

0

to create I used:

public void adiciona(Produto produto) {
  em.getTransaction().begin();
  em.persist(produto);
  em.getTransaction().commit();
}

to remove I used:

public void remove(Produto produto) {
  em.getTransaction().begin();
  em.remove(produto);
  em.getTransaction().commit();
}

and to update I am using the code below in dao:

public void atualiza(Produto produto) {
  em.getTransaction().begin();
  em.merge(produto);
  em.getTransaction().commit();
}

and this method:

    @Post
    public void altera(@Valid Produto produto) {
       validator.onErrorForwardTo(this).inicio();
       dao.atualiza(produto);
       result.include("message", "PRODUTO ALTERADO");
       result.redirectTo(this).lista();
    }

and this jsp:

    <form action="<c:url value='/produto/altera'/>" method="POST">
        <input type="hidden" name="produto.id" value="${produto.id}"/>
        <div class="col s6">
            NOME: <input type="text" name="produto.nome" value="${produto.nome}"/>
        </div>
        <div class="col s6">
            DESCRIÇÃO: <input type="text" name="produto.descricao" value="${produto.descricao}"/>
        </div>
        <div class="col s4">
            QUANTIDADE: <input type="number" name="produto.quanitdade" value="${produto.quantidade}"/>
        </div>
        <div class="col s4">
            VALOR: <input type="number" name="produto.valor" value="${produto.valor}"/>
        </div>
        <div class="col s4">
            VALOR DO FRETE: <input type="number" name="produto.valorFrete" value="${produto.valorFrete}"/>
        </div>
        <div class="col s9"></div>
        <div class="col s3 right">
            <input type="submit" class="btn waves-effect waves-light btn-large right" value="SALVAR"></input>   
        </div>
    </form>

But it is entering in the beginning page because of the Validator, and if I take it appears error 500, it was not possible to call the method alters.

  • What is this framework of @Post, @Valid and etc?

  • is the vraptor with cdi

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.