erro: Exception in thread "main" java.lang.IllegalArgumentException: attempt to create delete event with null entity at org.hibernate.event.spi.DeleteEvent.(DeleteEvent.java:45) at org.hibernate.internal.SessionImpl.delete(SessionImpl.java:924) at org.hibernate.ejb.AbstractEntityManagerImpl.remove(AbstractEntityManagerImpl.java:895) at br.com.caelum.financas.teste.TesteConta.main(TesteConta.java:31) C:\Users\Luciano\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1 FALHA NA CONSTRUÇÃO (tempo total: 1 segundo)
Classe:
package br.com.caelum.financas.teste;
import br.com.caelum.financas.modelo.Conta;
import br.com.caelum.financas.util.JPAUtil;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
* Created by leonardocordeiro on 24/02/17.
*/
public class TesteConta {
public static void main(String[] args) {
Conta conta = new Conta();
conta.setId(1);
conta.setTitular("Danilo");
conta.setBanco("Banco do Brasil");
conta.setAgencia("123");
conta.setNumero("456");
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
// em.persist(conta);
// conta.setBanco("Bradesco");
conta = em.find(Conta.class, conta.getId());
em.remove(conta);
em.getTransaction().commit();
em.close();
EntityManager em2 = new JPAUtil().getEntityManager();
em2.getTransaction().begin();
conta.setTitular("Leonardo");
em2.merge(conta);
em2.getTransaction().commit();
em2.close();
}
}
Classe de teste jpql que testei e apontou erro na classe acima:
package br.com.caelum.financas.teste;
import br.com.caelum.financas.modelo.Conta;
import br.com.caelum.financas.modelo.Movimentacao;
import br.com.caelum.financas.modelo.TipoMovimentacao;
import br.com.caelum.financas.util.JPAUtil;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.List;
/**
* Created by leonardocordeiro on 24/02/17.
*/
public class TesteJPQL {
public static void main(String[] args) {
EntityManager manager = new JPAUtil().getEntityManager();
Conta conta = new Conta();
conta.setId(1);
Query query = manager
.createQuery("select m from Movimentacao m where m.conta=:pConta "
+ "and m.tipo = :pTipo order by m.valor desc");
query.setParameter("pConta", conta);
query.setParameter("pTipo", TipoMovimentacao.ENTRADA);
List<Movimentacao> movimentacoes = query.getResultList();
for (Movimentacao m : movimentacoes) {
System.out.println("Descricao: " + m.getDescricao());
System.out.println("Conta.id:" + m.getValor());
}
}
}
Poderiam me ajudar com relação ao erro apresentado acima ? Reescrevi todo o codigo mas nao adiantou.