Galera, alguém sugere usar só o JPA do Java, ou acha que é bom usar o Hibernate com o JPA??? qual é a sugestão? já me falaram que o JPA está bem maduro e que se pode trabalhar sozinho!
Hibernate com JPA ou só JPA?
6 Respostas
JPA é um especificação que tem algumas implementações. O Hibernate tem uma implementação e o TopLink também.
Então, para usar JPA vc precisa de uma implementação.
[]´s
Não existe so JPA, só para complementar o comentario acima
O hibernate fornece uma implementação da jpa. Utilizo a jpa com o hibernate, por ser a melhor e mais utilizada implementação.
O que ele esta falando faz sentido sim…
Quando ele fala usar apenas JPA seria usar apenas o que é especificado no JPA, ou seja, o projeto se torna portável, sendo possivel usar com Hiberante ou TopLink ou ElcipseLink etc…
Porém vc pode optar em usar Coisas especificas do hibernate por exemplo, impossibilitanod a migração para outra teconoliga…
…
Ainda hoje o hibernate tem muito mais recuso que apenas a especificação do JPA, dificilmente vc conseguirá se manter apenas dentro do escpo da especificação JPA, a não ser q seu projeto só utilize coisas simples, e que não complique muito…
…
quem nunca acessou diretamente a Session que atire a primeira pedra =x
Não há essa impossibilidade de migração para outro servidor de persistência, já que basta substituir os .jars do hibernate por outro e informar o novo servidor de persistência no arquivo de configuração do hibernate.
lógico que há… se vc usar criteria do hibernate, não vai conseguir usar outro provedor de persistencia a não ser hibernate…
se vc usar anotações do Hibernate tb não vai poder trocar, e existem casos q é necessario.
por exemplo
@NotFoundAction(IGNORE)
essa anotação de relacionamento só existe no Hibernate, onde vc seta para caso não econtre uma entidade do relacionamente que ele ignore e sete null, o padrão é lançar uma exception… e as vezes com bancos legados, existem relacionamentos quebrados onde a chave estrangeira não se encontra do outro lado
…
EDIT.: O hibernate hoje tem muito mais que apenas da especificação do JPA, e a proxima versão do JPA muito se basea nas coisas que existem apenas no hibernate, e esse é o motivo de vc se amarrar ao provedor do persistencia, quando usa coisas além dos limites da especificações