Olá galera, eu estou tentando persistir varios objetos de uma vez utilizando a mesma transação JPA, ele persiste mas não persiste todos, está perdendo grande parte, por exemplo de 144 objetos inseriu apenas 28.
public class Fabrica {
private static Fabrica me;
private EntityManagerFactory emf;
private Fabrica() {
emf = Persistence.createEntityManagerFactory("Scet");
}
public static Fabrica getInstance() {
if (me == null) {
me = new Fabrica();
}
return me;
}
public EntityManager getEntityManager() {
EntityManager toReturn = emf.createEntityManager();
toReturn.getTransaction().begin();
return toReturn;
}
}
Metodo que persiste uma coleção de objetos
protected void inserir(List<Object> colecao)throws NegocioException{
EntityManager persistencia = Fabrica.getInstance().getEntityManager();
try{
for(Object item: colecao){
persistencia.persist(item);
}
persistencia.getTransaction().commit();
persistencia.close();
}catch(Exception e){
persistencia.getTransaction().rollback();
throw new NegocioException("Erro de persistência - "+e);
}
}
Pesquisei bastante mas não consegui a solução.