Limite de transações do JPA usando EJB, dúvida

Galera,

O fórum ficou massa!

Estou usando EJB para gerenciar transações com o banco e a API de persistência é JPA.
E estou fazendo a inserção de uma entidade dentro de um “for”, dentro desse for eu verifico se o registro pode ser gerado e persisto no banco. Entretanto, percebi que se forem gerados 20000 registros de alguma entidade o EJB só dá commit após inserir todos os 20000 registros e isso está causando rollback da transação.
Então eu gostaria de saber se há como forçar que o commit ocorra a cada iteração do for ou se há outra maneira de resolver isso?

Grato pela atenção.

Manda o código para a gente guj1! Mas dá sim, você pode pedir pro EJB injetar a transaction para você e você ser responsável por fazer isso manualmente.

Bom eu dei uma nova pesquisada e vi que existe a classe UserTransaction do EJB que me permite manipular a transação.

Caso funcione eu vou fechar o post e informar como resolvi meu problema. :smile:

Abraço!

Meu problema era o seguinte: eu estava usando um EJB Stateless, ou seja, ele não guardava o estado do objeto de persistência por isso lançava uma excessão do tipo TransactionException e causava rollback, então passei a usar o Stateful e tudo correu bem.