Eea galera…
Enton estou iniciando no jpa e estou testanto uma tabela que por dia gera aproximadamente 250 mil registros… e guarda os 3 ultimos meses… portanto, milhões de registros.
Quando utilizo JPA + Toplink, consigo uns 20 mil registros no max… aí estoura a parada.
Disseram que se mudar pra Hibernate, esse numero aumenta para uns 60 min (não testei)
Disseram para paginar… porém tentei fazer o seguinte para testar:
Query q = em.createNamedQuery("MsHistoricoComandoHist.findByHcmDataExec");
q.setFirstResult(1000000);
q.setMaxResults(1);
q.getResultList();
E pelo que eu percebi ele vai na sequencia do 1 ateh o 1 milhao… ou seja, nem me traz esse único registro que eu pedi.
Tentei uns clean, flush… mas num entendi exatamente onde eu uso isso no exemplo acima… jah q ele vai gerar exceção no momento de gerar a lista
ou seja… ele trava nessa linha (não colokei para armazenar numa lista para ter certeza que o problema era só na chamada mesmo desse método)
E sim, preciso pegar esse monte de registro… não para mostrar na tela, e sim para atualizar um campo novo no banco… nem que fosse "aos poucos"
Estou utilizando oracle e talvez para isso fosse melhor utilizar Pl Sql… mas como estou aprendendo JPA… gostaria de saber se dá pra fazer isso.
OBS:
o código abaixo funfa.
q.setFirstResult(0);
q.setMaxResults(100);
q.getResultList();
[]´s
Alex