Problema de performance com JPA

2 respostas
lucas_carvalho100

E ai pessoal blz?

Gostaria da ajuda de vocês…

Estou fazendo uns testes com JPA, fazendo um insert “simples”, somente em uma tabela. Para inserir 100000 registros com o JPA leva cerca de 5 minutos, com JDBC “puro”, leva cerca de 1 minuto, enquanto no PL/SQL leva míseros 10 segundos… Eu gostaria de usar o JPA, pois são N tabelas que a minha aplicação vai precisar trabalhar (ela vai ser uma aplicação apenas para processamento de dados). Sei que o JPA não vai ficar igual ao PL, mas acredito que deva existir uma forma de deixa-lo mais rápido…

Alguém tem alguma dica para que o JPA fique mais rápido?

Obrigado.

2 Respostas

paulo1911

olá amigo, o JPA em si não vai fazer milagres, mas você deve ver os prós e os contras das implementações ex.:

estimativa de esforço para criaão, deply,manutenção de crud simples com JDBC (SQL na mão, PreparedStatments, Sessions,Criar seu Pool, etc… ) x JPA(Anotations, Criteria, HQL,Entity Manager, Ciar instancias dos objetos que vao ser gravados)…

No entato a combinação com o spring torna o desempenho do JPA melhor, com o JPA Transaction, Pool do spring e menos trabalho braçal no deploy e na manutenção futura.

PL/SQL vc vai usar JDBC com CalableStatment pra chamar as procedores e JPA vai dar na mesma pois vc tem que ter o EntityManager carregado, para o caso de análise na minha opinião c vc vai precisar do entityManager, é mais vantajoso ja usar os recursos de annotations e EJBs QL,NamedQueries, HQLs, Criterias etc…

Fica ai a dica e minha opinião
Fallow Abraço

lucas_carvalho100

O que esta me “comovendo”, é que o uso do JPA é muito bom, apesar da perca de performance, acho que vou acabar usando JPA mesmo por causa de suas vantagens…

Ps. Só para esclarecer, quando eu disse PL/SQL, quis dizer que a chamada esta sendo executada diretamente no banco de dados, e não pelo java.

Obrigado pela sugestão.

Criado 25 de julho de 2011
Ultima resposta 25 de jul. de 2011
Respostas 2
Participantes 2