É possivel usar JPA sem Hibernate?

9 respostas
A

Olá amigos,

Uma duvida que sempre me fez coçar um pouco a cabeça devido ao meu pouco conhecimento dessa tecnologia. É possivel trabalhar apenas com as anotações e classes do JPA sem o Hibernate?

No unico projeto que já trabalhei com JPA, usei apenas as annotations e as classes do proprio JPA. POREM, inclui no classpath da aplicação os jars do hibernate. Como a coisa funcionou sem problemas, admito que nao me aprofundei mais no assunto e deixei por isso mesmo :lol:. Porem, agora estou começando um projeto grande e ainda estou definindo as tecnologias que vou usar, e como o JBoss está disponivel, pensei no JPA, embora já tenha uma camada JDBC quase pronta para acessar a base. Porem, para usar o JPA entender melhor a relação dele co o Hibernate.

Me ajudem, amigos! :cry:

Obrigado!

9 Respostas

T

O JPA é uma especificação enquanto que o Hibernate a implementa. Há outros frameworks que implementam JPA, como o TopLink. Mas o Hibernate aparentemente é o mais utilizado.

O

Claro que tem.

Vc pode escolher:

–TopLink
–OpenJPA
–EclipseLink

Mas, todos eles são filhos do mesmo pai: Hibernate (inclusive a própria especificação JPA) :lol:

[]´s

M

Como o amigo acima falou JPA é uma especificação e o Hibernate é implementado com base nessa especificação assim como outros frameworks para essa parte de persistência, o que voçê pode fazer é estudar a especificação e então voçê mesmo implementar um framework ou uma camada em seu projeto para fazer essa persistência com base nessa especificação.

R

Não precisa reinventar a roda. Use o hibernate e seja feliz :wink:

A

Obrigado amigos!

Mas acho que me expressei mal.

O que eu gostaria de saber é se é possivel trabalhar com o JPA apenas usando javax.persistence.*, sem nenhum framework, apenas a api pura.

Agradeço ao marcosharbs pela ajuda, mas nem de longe pretendo criar meu proprio framework :lol:

Conheço as classes da api javax.persistence.* o suficiente pra me virar e criar uma camada de persistencia, meu medo é inventar de juntar o hibernate e ferrar tudo. Obviamente estou estudando o mesmo e devo acabar usando ele mesmo…

Aproveitando o topico, para trabalhar com o hibernate, é OBRIGATORIO mapear as classes-entidades naqueles arquivos xml, ou pode-se usar as anotations do jpa?

Obrigado pessoal!

R

Não é obrigatório. Vc pode usar apenas as annotations diretamente nas classes java.

J

Eu até tentei usar a JPA sem Hibernate, mas o mercado pega forte neste framework. TopLink eu aprendi apenas em livro e o EclipseLink nunca usei.

F

Acho que o quê te incomoda na minha opinião é o “Por que essa gente utiliza Hibernate, Toplink e etc… com JPA?”

Se for isso, aqui vai a explicação que ouvi:

Os caras utilizam o Hibernate, Toplink por causa de recursos que estão presente neles e não na JPA (especificação). No Hibernate, além de ser um ótimo ORM tem uma coisa bacana chamada CRITERIA que na JPA, se não me engano ainda não tem. O Toplink (nunca utilizei) dizem que é mais rápido, e me parece que ainda tem alguns recusos diferenciados para acesso a banco (provavelmente o Oracle).

Você junta recursos específicos da implementação (Hibernate, TopLink e etc…) mais a especificação acaba resultando em JPA + Hibernate, JPA + TopLink e JPA + etc…

flws

A

Blz galera valeu pelos esclarecimentos! :wink:

Criado 10 de setembro de 2009
Ultima resposta 10 de set. de 2009
Respostas 9
Participantes 7