Como executar script com hibernate? (Ex: DELETE FROM TABELA_PRECO; )

4 respostas
L

Como executar script com hibernate? (Ex: DELETE FROM TABELA_PRECO;)

Uso o hibernate a algum tempo, e tive a necessidade de apagar completamente algumas tabelas.
Só que não quero carregar um array e apagar objeto por objeto com session.delete().
Como executo um script “manual”???

4 Respostas

_

Já tentou algo do tipo:

//edited
Session().createQuery(“HQL”).executeUpdate(); ?

Flw

L

Blz cara…
Nao foi bem como vc falou, mas me mostrou o caminho!

o createQuery funciona com HQL.
pra SQL, tem q usar o createSQLQuery

Veja o código que resolveu o problema:

SessionFactory sfFB = BancoDados.Hibernate(); // Cria a minha SessionFactory
			
Session s = sfFB.openSession();
			
Transaction t = s.beginTransaction();
s.createSQLQuery("delete from table_empresa;").executeUpdate();
			
try {
	t.commit();
} catch (Exception e) {
	t.rollback();
}

Saída do sistema:


Hibernate: delete from table_empresa;

_

Ops é verdade HQL e não SQL.

Mas já que você está usando Hibernate não seria melhor usar o HQL?

Pelo menos se você fizer o DELETE FROM CLASSE_MAPEADA_TABELA_EMPRESA é para ele gerar o SQL correto, não?

L

Verdade! Vou tentar com HQL!

Criado 4 de dezembro de 2007
Ultima resposta 4 de dez. de 2007
Respostas 4
Participantes 2