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

Find com Hibernate e alteração de dados na Base

Amigos estou tentando trocar na base de dados o nome para Alex Melo e não esta indo, alguem tem ideia do que pode ser ?

package br.com.pessoal.agenda.main;

import javax.persistence.EntityManager;

import br.com.pessoal.agenda.javabean.Contatos;
import br.com.pessoal.agenda.util.JPAUtil;

public class TestaJPA {

    public static void main(String[] args) {

        EntityManager manager = new JPAUtil().getEntityManager();

        Contatos contatos=manager.find(Contatos.class, 1);

        System.out.println(contatos.getNome());

        contatos.setNome("Alex Melo");

        manager.getTransaction().commit();
        manager.close();
    }
}

Após rodar ele faz o find do nome que esta atualmente mas não altera para o que eu quero e apresenta a mensagem abaixo:

Exception in thread "main" java.lang.IllegalStateException: Transaction not successfully started
    at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:63)
    at br.com.pessoal.agenda.main.TestaJPA.main(TestaJPA.java:32)
1 resposta
solução!

Amigos, consegui resolver meu problema, faltava iniciar a transação para efetuar a troca na base.

Segue a linha que estava faltando para quem tiver o mesmo problema. Abs.

manager.getTransaction().begin();

ou seja, ficaria assim

    EntityManager manager = new JPAUtil().getEntityManager();
    manager.getTransaction().begin();

    Contatos contatos=manager.find(Contatos.class, 1);
    .
    .
    .