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.
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”?
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.
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.
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.
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.[/quote]
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.[/i][/quote]