Porque usar Hibernate/JPA?

4 respostas
andericbraz

Pessoal,

Gostaria da opinião da comunidade sobre um tema que na minha opinião pode ser bastante polêmico. Porque eu usaria hibernate em projetos ao invés de SQL ANSI e Views.

Algumas dúvidas que tenho a respeito do uso do hibernate ou qualquer outro provider JPA e o impacto destes pontos no desempenho:

  1. Processamento do XML para entender o meu mapeamento objeto relacional
  2. Uso de singleton para popular meus objetos de dados (Value Object)
  3. Cache pode ser usado sem o hibernate com poucas linhas de código
  4. Performance em relação a leitura dos dados (levando em conta o MOR)

Sei que hoje o hibernate tem sido amplamente utilizado em projetos no mundo inteiro, mas eu tive uma experiência de ter que refazer a camada de dados para suportar um grande volume de dados (SQL ANSI) e depois deste epsódio, não utilizei mais o hibernate.

Qual tem sido a experiência de vocês neste sentido?

4 Respostas

santanna106

Cara,

eu já trabalhei em um lugar onde muitas regras de negócios eram programadas no banco e não existia framework de persistência. Com certeza existia uma performance bem melhor para recuperar e armazenar os dados. Porém, o esforço para desenvolver novas classes que seriam persistidas era maior.

Quando eu uso o hibernate eu não preciso me preocupar em desenvolver muitas coisas para garantir os relacionamentos entre as tabelas.

Ultimamente eu só deixo de desenvolver com o hibernate quando o cliente exige

L

Eu uso o hibernate para desenvolver a maioria dos sistemas…
Mas como você falou…e eu já passei por uma situação parecida… quando há um grande volume de dados…
aí o bicho pega no hibernate… daí nestas consultas tive que gerar um sql mesmo pra não trazer todos os relacionamentos…

andericbraz

santanna106:
Cara,

eu já trabalhei em um lugar onde muitas regras de negócios eram programadas no banco e não existia framework de persistência. Com certeza existia uma performance bem melhor para recuperar e armazenar os dados. Porém, o esforço para desenvolver novas classes que seriam persistidas era maior.

Quando eu uso o hibernate eu não preciso me preocupar em desenvolver muitas coisas para garantir os relacionamentos entre as tabelas.

Ultimamente eu só deixo de desenvolver com o hibernate quando o cliente exige

A solução que temos utilizado para suprir essa necessidade de criação de novas classes para persistencia é utilizar um gerador de código, e ao mesmo tempo um framework padronizado em DAOs (SQL ANSI). Percebo que a performance comparado com o Hibernate tem sido maior, justamente porque questiono os tempos de processamento que me refiro acima. Para produtividade de desenvolvimento acredito que o hibernate se demonstra bastante satisfatório, mas as vezes pagamos um preço alto na produção.

andericbraz

leopoldof:
Eu uso o hibernate para desenvolver a maioria dos sistemas…
Mas como você falou…e eu já passei por uma situação parecida… quando há um grande volume de dados…
aí o bicho pega no hibernate… daí nestas consultas tive que gerar um sql mesmo pra não trazer todos os relacionamentos…

Mesmo assim você continua usando o hibernate com SQL nativo, é isso? ou você substitui por outro design pattern/framework?

Criado 7 de dezembro de 2010
Ultima resposta 10 de dez. de 2010
Respostas 4
Participantes 3