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