[RESOLVIDO]Recuperar objeto pelo id (simples)

2 respostas Resolvido
M

Olá amigos,

Creio que esta dúvida seja bastante simples, porém, não encontrei nada a respeito no fórum.

Preciso recuperar um objeto salvo no banco de dados e carregá-lo pelo “ID”.

Observação: Estou utilizando JPA, Hibernate, JSF, Primefaces.

Estou tentando assim: Porém sem sucesso!

public void removerDespesa(Despesa despesa){
	
	EntityManagerFactory emf = Persistence.createEntityManagerFactory("calcPU");
	EntityManager em = emf.createEntityManager();
	
	System.out.println(despesa.getIdDespesa());
	
	despesa = String sql = "select d from Despesa d where idDespesa ='?1'";
	
	
	try {

		em.getTransaction().begin();
		em.getTransaction().commit();

		FacesUtil.addSuccesMessage("Despesa removida com sucesso!");

	} catch (Exception e) {
		e.printStackTrace();


	}
	
}

2 Respostas

P
Solucao aceita

cara isso que vc escreveu nao faz o menor sentido

se vc quer procurar pelo Id, que deve ser uma … primary key, vc pode usar os metodos find & remove

http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html#remove(java.lang.Object)

void remove(java.lang.Object entity)

Despesa despesa = em.find(Despesa.class, despesa.getIdDespesa()); /*veja se este passo é realmente necessario*/
 
  em.getTransaction().begin();
  em.remove(despesa); /* cabum */
  em.getTransaction().commit();
I

Voce recebe um objeto despesa e depois faz um "despesa = String sql = “select d from Despesa d where idDespesa =’?1’”;"
what ?

Criado 19 de outubro de 2016
Ultima resposta 20 de out. de 2016
Respostas 2
Participantes 3