Hibernate - flush() após cada ação ou só antes do commit?

Java

09/04/2009

o metodo flush() da session deve ser invocado após cada ação (INSERT, UPDATE, DELETE) ou só antes do commit?
Carlos Barretto

Carlos Barretto

Curtidas 0

Respostas

Dalton

Dalton

09/04/2009

[quote="carlosbarretto"]o metodo flush() da session deve ser invocado após cada ação (INSERT, UPDATE, DELETE) ou só antes do commit?
Sempre após cada operação de update((INSERT, UPDATE, DELETE)) no banco! []'s
GOSTEI 0
Ccarneiroj

Ccarneiroj

09/04/2009

Ola Carlos Acho que o Dalton se equivocou. Vc so precisa chamar o flush() ao fim de cada unit of work. Da uma lida em: http://www.hibernate.org/hib_docs/api/net/sf/hibernate/Session.html#flush() O ideal e' vc sempre usar transacoes, pois o Transaction.commit() chama o Session.flush() e e' uma coisa a menos p/ vc fazer no seu codigo Ate +
GOSTEI 0
Dalton

Dalton

09/04/2009

[quote="ccarneiroj"]Ola Carlos Acho que o Dalton se equivocou. Vc so precisa chamar o flush() ao fim de cada unit of work. Da uma lida em: http://www.hibernate.org/hib_docs/api/net/sf/hibernate/Session.html#flush() O ideal e' vc sempre usar transacoes, pois o Transaction.commit() chama o Session.flush() e e' uma coisa a menos p/ vc fazer no seu codigo Ate +
Fala Júnior! Bom, eu particulamente sempre usei o flush antes do commit, claro o commit da transação.
	public void update(VOObject vo) throws Exception {
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			session.update(vo);
			session.flush();
			tx.commit();
		} catch (Exception e) {
			if (tx != null)
				tx.rollback();
			throw e;
		}
	}
:!: obs: Não sabia que a transaction.commit já chamava o flush! []'s
GOSTEI 0
Marcos Pereira

Marcos Pereira

09/04/2009

Transações por conta do Spring. http://www.hibernate.org/110.html valeuz...
GOSTEI 0
Carlos Barretto

Carlos Barretto

09/04/2009

valeu pessoal, realmente deixei o flush mas coloquei só antes do commit após executar dezenas de inserts, updates e deletes. e o xabu do banco acabou!! antes todas as vezes q executava alguma operacao q exigia demais o serviço era comprometido! valeu ccarneirojr :!:
GOSTEI 0
POSTAR