Dúvidas Sobre Desenpenho e Diferenças de Frameworks

14/10/2009

Bom dia, meu nome é Michel, gostaria de tirar algumas dúvidas sobre a diferença entre dois frameworks que são o Hibernate e JPA, pois estou desenvolvendo uma aplicação acadêmica para obter o título de Bacharel em Sistemas de Informação e gostaria de saber qual a melhor opção entre esses dois frameworks:

Vantagens e desvantagens;
Qual o melhor a ser utilizado em uma aplicação Web;
Qual a principal diferença entre um e outro;
Qual obtem um melhor desempenho;
E como utilizá-los;

Sem mais agradeço pela atênção,

Um abraço Michel.
Michel Martins

Michel Martins

Curtidas 0

Respostas

Dyego Carmo

Dyego Carmo

14/10/2009

Boa tarde !

Vamos por partes , na realidade JPA não é um framework e sim um padrao , a JCP (que é uma especie de w3c do java) se reuniu e definiu uma forma UNIVERSAL de se trabalhar com MAPEAMENTOS OBJETOS RELACIONAIS (Mapear um banco de dados para objetos e vice versa) , tendo este padrao feito eles chamaram de JPA...

O Hibernate já existia e já era um framework muito conhecido com o mesmo proposito, então o pessoal do Hibernate resolveu ADERIR a estes padroes impostos pela JCP, e agora o Hibernate IMPLEMENTA JPA...

Ou seja... JPA é uma especificacao (um amontoado de documento dizendo de que forma e como deve-se comportar um ORM) , o pessoal do Hibernate resolveu criar uma "casca" sobre o Hibernate que implementa este padrão, esta é Conhecida como "Hibernate EntityManager".

Então Hibernate IMPLEMENTA JPA...

JPA sozinho não faz nada... ele precisa que alguem leia toda a documentacao e implemente as ideias feitas pelo mesmo...

Existem outros Frameworks que implementao JPA... tem o TopLink da Oracle por exemplo...

Quando voce faz um aplicativo utilizando JPA (ou seja , um framework que implemente JPA) voce pode de uma hora para outra trocar de Hibernate para TopLink sem mudar nenhuma linha de codigo, e qual a vantagem disto ? Simples , se por acaso o Toplink se mostrar mais eficiente em seu aplicativo você não vai precisar ficar reprogramando para utiliza-lo :)


Eu recomentaria para voce utiliza JPA com Hibernate...

Existe um curso na DevMedia chamado "Desvendando o JPA" e outro curso chamado "Desenvolvendo uma aplicação completa utilizado JPA"

Ambos muito bons para se ter uma BOA nocao do funcionamento deste padrão.


Espero ter exclarecido suas duvidas :)

Abraços !
GOSTEI 0
POSTAR