Quantcast
Channel: GUJ - Tópicos com a tag hibernate
Viewing all articles
Browse latest Browse all 759

Hiberta processamento em lote/Lista objetos

$
0
0

@hudsonjm escreveu:

Estou com um problema na execução de uma lista de objetos, ao processar essa lista de objetos
queria salvar os objetos da lista em lote assim como diz a documentação do hibernate:


Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
for ( int i=0; i<100000; i++ ) {
Customer customer = new Customer(.....);

if ( i % 20 == 0 ) { //20, same as the JDBC batch size
	//flush a batch of inserts and release memory:
	session.flush();
	session.clear();
}

processarCustomer(session, customer);

}
tx.commit();
session.close();

private processarCustomer(Session session, Customer customer){
try{

	session.save(customer);
}catch(Exception e){
	//Caso ocorra alguma falha em persistir o objeto não falhar o lote de procesasmento
	//Continuar processeguindo o processamento dos demais customers sem dar rollback na transacao
}

}

Porém se eu realizar dessa forma, caso ocorra um erro na hora de gravar um objeto entre o lote, só consegui
dando um rollback na transacao inteira, perdendo os outros dados já gravados.
Queria algo para continuar processando o lote, mas ignorar um dos objetos com falha entre esse lote.

Se eu abrir uma transação para cada objeto, o processamento fica muito lento, algumas sugestões?!

Mensagens: 2

Participantes: 2

Ler tópico completo


Viewing all articles
Browse latest Browse all 759

Trending Articles


FORTUITOUS EVENT


Pokemon para colorear


Girasoles para colorear


Dibujos de animales para imprimir


Kahit may Toyo ka


RE: Mutton Pies (frankie241)


Hagibis (1946) by Francisco V. Coching


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo Create - Video Maker & Editor 1.3.3 by Vimeo Inc


Vimeo 3.41.0 by Vimeo Inc



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>