Deletar Registros em Hibernate

8 respostas
R

Pessoal, como faço para deletar todos os registros usando o hibernate…

por exemplo:

eu tenho uma Entity, e tenho 100 registros, logo apos quero apagar todos e inserir novos registros …
como faço para apagar todos os registros de uma só vez? eu consegui apagar um por um, utilizando o ID do registro, mas não consegui apagar todos de um só vez: como um

delete from tabela

alguem poderia me auxiliar?

8 Respostas

R

execute um hql trocando a tabela pela Entity

ex:

DELETE FROM Pessoa

obviamente vc deve ter a entity Pessoa

@Entity
public class Pessoa....

abrasss

R
public void excluirTudo() {
		Session session = //sessão atual;
		Criteria criteria = session.createCriteria(Cliente.class);
		List<Cliente> clientes = criteria.list();
		for (Cliente c : clientes) {
			session.delete(c);
		}
	}

Fala Ricardo,

eu consegui fazer assim, pra mim funcionou certinho, espero ajudar você também. :smiley: :thumbup:

public void excluirTudo() { try { Session session = //sessão atual; session.createSQLQuery("delete from cliente").executeUpdate(); } catch (Exception e) { e.printStackTrace(); } }

Fiz também do jeito que o renanreismartins falou, funciona se não tiver chave estrangeira. :smiley:

R

Rossithiago sua solução funciona, porem assim vc carrega todos os clientes do banco, não é a melhor solução pro caso.

abrasss

R

renanreismartins:
execute um hql trocando a tabela pela Entity

ex:

DELETE FROM Pessoa

obviamente vc deve ter a entity Pessoa

@Entity
public class Pessoa....

abrasss

Funciona bem, mas se tiver chave estrangeira? :slight_smile:

R

ai vc tem q apagar as outras refencias.

abrasss

R

renanreismartins:
ai vc tem q apagar as outras refencias.

abrasss

Eu sei disso, porém tem o trabalho pra fazer isso :smiley:

Já está na hora do Hibernate ter essa função pra excluir tudo. :thumbup:

C

Revivendo aqui, qual a melhor forma de remover vários registros que não se tem o ID nem nada(detach) em JPA? É melhor pegar uma connection e fazer em SQL mesmo ou tem um jeito elegante(sem ter que uma consulta e um delete pra cada registro) de fazer isso com JPA?

C

Ninguem? = /

Criado 31 de janeiro de 2012
Ultima resposta 21 de fev. de 2012
Respostas 8
Participantes 4