Performace - Vantagens - JPA ou SQL

4 respostas
E

Pessoal estou com uma dúvida, li alguns tópicos sobre isto mais não foi completamente esclarecido.

Em termos de perfomace, o JPA puro iguala ao SQL “nativo” ?

Vantagens do JPA Vs SQL

  • Produtividade
    Continuem esta lista…

  • Vantagens do SQL Vs JPA
    Talvez desenpenho?..
    Continuem…

Deste já agradeço

4 Respostas

diogopontual

Cara,

Da forma como é utilizada corriqueiramente, JPA é JDBC Puro. Com uma camadinha de “tradução” no meio… Mas no final das contas, é JDBC.

Quanto às questões de performance, eu afirmo peremptoriamente que ninguém nesse mundo está habilitado à responder à sua pergunta enquanto ela estiver despida de um contexto. Se o nosso contexto for um simples: “select * from algumaCoisa”, JPA é menos performático do que JDBC Puro, visto que ela “extende” JDBC, inserindo umas complicaçõeszinhas… Por outro lado, se o seu contexto incluir diversos “select * from algumaCoisa”, e o objeto resultante da consulta agregar alguns outros objetos… Ai, se bem usado, JPA vai se tornar mais performático…

Também não é uma verdade universal que o desenvolvimento sobre JPA é mais produtivo que sobre JDBC… Talvez alguns desenvolvedores dominem muito bem JPA e se tornem bastante produtivos. (Mas para ser honesto o que eu tenho visto por aí é muito erro… Aninhamentos de agregações que não terminam nunca, problemas com transações, etc, etc, etc).

O meu conselho normalmente é: Tente isolar completamente a camada de persistência através do uso de alguns padrões de projeto. (Repository, QueryObject…), escolha a tecnologia que vc e sua equipe se sentem mais à vontade, e toque o pau… Se no futuro vc resolver mudar de idéia, não vai dar muito trabalho.

Enfim, o importante é um design do projeto que estabeleça bem claramente as responsbilidades… E aí (apesar de não ser ponto pacífico), acho que as práticas do DDD podem te ajudar bastante (e os principais livros de patterns).

Abraço

E

diogopontual muito bom sua explicação, porem porque em selects complexo o JPA se torna mais performático?
Não intendi isto

diogopontual

JPA já te oferece prontas várias facilidades, como lazy load, caches e por aí vai, que vão, no melhor dos mundos, “otimizar” o acesso aos dados…

Apesar disso, o que tenho visto é o pessoal usando recursos como lazy load sem estudá-lo, e consequentemente fazendo besteira.

E

Encima das suas explicações poderia tirar as seguinte conclusões no meu ponto de vista

Vantagens do JPA Vs SQL

  • Produtividade (caso domine)

  • Performace

  • Vantagens do SQL Vs JPA
    Nenhuma

no seu ponto de vista que voce colocaria aqui

Vantagens do JPA Vs SQL

  • Vantagens do SQL Vs JPA

Fica aberto ao publico

Criado 30 de agosto de 2010
Ultima resposta 30 de ago. de 2010
Respostas 4
Participantes 2