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:
Processamento do XML para entender o meu mapeamento objeto relacional
Uso de singleton para popular meus objetos de dados (Value Object)
Cache pode ser usado sem o hibernate com poucas linhas de código
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?
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
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…
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?