Hibernate Annotations e JPA  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

Olá pessoal,

Estava verificando na documentação do Hibernate e em todos os exemplos de entidades anotadas é importado javax.persistence, ou seja: todos utilizam anotações do JPA.

Pelo que estou entendendo, o Hibernate Annotations não consegue substituir totalmente o JPA, mas o complementa. É isso mesmo?

Eu consigo usar as anotações do Hibernate para efetuar completamente meu mapeamento OR, ou eu preciso usar também as do JPA?

Apenas para esclarecer, o motivo dessa dúvida é que simplesmente não posso empacotar o ejb3-persistence.jar, ou importar javax.persistence no meu projeto, por força de contrato com o cliente. Bem, mas não é esse o ponto.

Obrigado!

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
rdantas
Java Ninja
[Avatar]

Membro desde: 12/02/2005 01:32:20
Mensagens: 263
Localização: Formiga-MG
Offline

Pergunta mto interessante! O curioso eh que o Hibernate surgiu como um framework antes da especificacao JPA. Claro, que naquela epoca, se usava xml para fazer o mapeamento. Nunca tentei fazer todo o mapeamento com annotations, sem jpa, mas acredito que seja possivel.
Tem alguma anotacao que vc precisou e nao encontrou, ou vc esta perguntando antes de "por a mao na massa"?

Rodrigo.

Desenvolvedor Java
Java em Pó - Blog para assuntos Java
"Só Deus salva, os mortais fazem backup!!!"
[MSN] [ICQ]
Jarf
JavaTeenager
[Avatar]

Membro desde: 17/09/2008 15:18:44
Mensagens: 184
Localização: Rio de Janeiro
Offline

Cara pelo que eu tenho visto acredito que dê pra fazer tudo pelo Annotation sim.
Eu sou novato na area, mas pelo que eu vi da sim

flw!!!








"Cada um pensa naquilo que lhe faz falta." ^^
wariows
JavaGuru
[Avatar]

Membro desde: 03/11/2006 02:27:43
Mensagens: 206
Offline

JPA é uma especificação. Hibernate Annotation é uma implementação dessa especificação.

"Tudo o que você precisará quando o universo acabar é de uma toalha"
[MSN]
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

Olá Dantas,

Eu estou começando a pôr a mão na massa, de cara deparei com a anotação @Id, que existe no JPA, contudo não encontrei similar no Hibernate Annotations.

E vendo a documentação do Hibernate Annotations (http://www.hibernate.org/hib_docs/annotations/reference/en/html_single), dá essa impressão de que é apenas um complemento, pois se vê que são mostradas as anotações JPA e, em um tópico chamado "Hibernate Annotation Extensions", são descritas algumas anotações do Hibernate.

Contudo, isso pode ser simplesmente por incentivar JPA e não pelo Hibernte Annotations não suportar as mesmas coisas. Por isso fiquei na dúvida.

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

wariows,

Calma lá, não é bem assim. O Hibernate possui anotações próprias que não estão na especificação (http://www.hibernate.org/hib_docs/annotations/api/).

A minha dúvida é se essas anotações, descritas no link acima, são suficientes para o mapeamento OR ou se preciso de anotações definidas na especificação JPA.

A relação entre JPA e Hibernate, além da idéia, é que a galera do Hibernate criou uma implementação de JPA que funciona como um wrapper das funcionalidades do Hibernate, devido à grande semelhança. Apenas isso.

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

Além disso, o Hibernate Tools do Eclipse, através de seu processo de geração de código baseado em um modelo de banco já criado, não consegue gerar mapeamento apenas com anotações do Hibernate. Ou ele gera com os famosos hbm.xml, ou com as anotações JPA.

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

É isso aí galera, o Hibernate Annotations simplesmente extende as anotações do JPA.

Ou seja, não dá para usar apenas o Hibernate Annotatioons.

Grato.

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
wariows
JavaGuru
[Avatar]

Membro desde: 03/11/2006 02:27:43
Mensagens: 206
Offline

carneiro wrote:wariows,

Calma lá, não é bem assim. O Hibernate possui anotações próprias que não estão na especificação (http://www.hibernate.org/hib_docs/annotations/api/).

A minha dúvida é se essas anotações, descritas no link acima, são suficientes para o mapeamento OR ou se preciso de anotações definidas na especificação JPA.

A relação entre JPA e Hibernate, além da idéia, é que a galera do Hibernate criou uma implementação de JPA que funciona como um wrapper das funcionalidades do Hibernate, devido à grande semelhança. Apenas isso.


http://hibernate.org/397.html

Java Persistence with Hibernate

The Java Persistence API is the standard object/relational mapping and persistence management interface of the Java EE 5.0 platform. As part of the EJB 3.0 specification effort, it is supported by all major vendors of the Java industry.

Hibernate implements the Java Persistence object/relational mapping and persistence management interfaces with the Hibernate Annotations and Hibernate EntityManager modules, on top of the mature and powerful Hibernate Core.

"Tudo o que você precisará quando o universo acabar é de uma toalha"
[MSN]
carneiro
JavaEvangelist
[Avatar]

Membro desde: 07/04/2005 11:37:42
Mensagens: 328
Offline

wariows,

Exatamente, bom garoto! Você entendeu direitinho!

[]s!

Davi Luan Carneiro
Desenvolvedor JEE
[Email] [MSN]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team