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

Carlos Barretto
Curtidas 0
Respostas

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
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
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; } }
GOSTEI 0

Marcos Pereira
09/04/2009
Transações por conta do Spring.
http://www.hibernate.org/110.html
valeuz...
GOSTEI 0

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