Pessoal preciso de informações sobre jpa, é uma tendência (quase realidade), o que é, como funciona, sei que é utilizada na persistência. gostaria que me passassem a referencia de um livro ou site sobre o assunto.
é a substituição do hibernate???
Quando alguem fala: procura no goolge é pq não sabe dar resposta!!! ou pior não sabe nem o que está falando!!
JPA é uma especificação nova feita para facilitar a vida dos desenvolvedores quando fazem mapeameno objeto-relacional…
tu cria uma classe … para mapear ela com seu banco de dados, ao inves de mapear um monte de merda em xml separados, usa annotations @ para facilitar tua vida… sacou ?
um bom livro é o Enterprise JavaBeans 3.0 5th Edition do OReilly
JPA é uma especificação criada pela sun, inspirada no hibernate… portanto, o hibernate é a implementação mais “famosa” do jpa… sendo assim, jpa não é um substituto do hibernate.
O hibernate oferece algumas alternativas a mais, como por exemplo a API de criteria, que não faz parte da especificação JPA.
JPA na realidade é uma API… um conjunto de Interfaces que descrevem como trabalhar com o mapeamento objeto relacional.
Hibernate IMPLEMENTA JPA… porem usar hibernate nao significa que vc esta usando JPA…
Voce usa JPA e atraves dessa API vc usa o Hibernate…
e voce pode estar perguntando… PARA QUE ?
Simples… ao usar uma “camada” para acessar o hibernate voce garante que o DIA QUE VOCE NAO QUERER MAIS UTILIZAR O HIBERNATE… voce pode trocar por qualquer outro que implemente JPA… ex: Oracle TopLink…
[quote=ManchesteR]Tanto o Google como o GUJ tem materiais excelentes sobre JPA.
Além do EJB3, você pode estudar o Hibernate 3 que é uma implementação do JPA.
[/quote]
complementando, de preferência no livro Java persistence with hibernate da editora manning… Muito bom livro…
Pessoal, ao ter interesse em usar JPA, eu obrigatóriamente tenho de usar Hibernate, OracleTopLink ou EJB3 como implementação de JPA, ou tem como usar somente JPA, sem esses outros 3 ?
Para usar o EJB3, acredito que precise de um container para o mesmo, como um servidor JBOSS, no caso do hibernet eu não sei o que precisa e no caso de JPA se a resposta da 1a pergunta é não, eu preciso ter um servidor de aplicação ou qual tipo for para utilizar ? ( acredito que não )
[quote=sudeval]Pessoal, ao ter interesse em usar JPA, eu obrigatóriamente tenho de usar Hibernate, OracleTopLink ou EJB3 como implementação de JPA, ou tem como usar somente JPA, sem esses outros 3 ?
Para usar o EJB3, acredito que precise de um container para o mesmo, como um servidor JBOSS, no caso do hibernet eu não sei o que precisa e no caso de JPA se a resposta da 1a pergunta é não, eu preciso ter um servidor de aplicação ou qual tipo for para utilizar ? ( acredito que não )
desculpe se tiver viajado nas perguntas !
[/quote]
Como já foi dito, JPA é uma especificação, ou seja, você precisa utilizar alguma implementação dessa especificação.
Aconselho o Hibernate. Para usá-lo, não precisa de container não, apenas os .jars necessários.
[quote=Jair Rillo Junior][quote=sudeval]Pessoal, ao ter interesse em usar JPA, eu obrigatóriamente tenho de usar Hibernate, OracleTopLink ou EJB3 como implementação de JPA, ou tem como usar somente JPA, sem esses outros 3 ?
Para usar o EJB3, acredito que precise de um container para o mesmo, como um servidor JBOSS, no caso do hibernet eu não sei o que precisa e no caso de JPA se a resposta da 1a pergunta é não, eu preciso ter um servidor de aplicação ou qual tipo for para utilizar ? ( acredito que não )
desculpe se tiver viajado nas perguntas !
[/quote]
Como já foi dito, JPA é uma especificação, ou seja, você precisa utilizar alguma implementação dessa especificação.
Aconselho o Hibernate. Para usá-lo, não precisa de container não, apenas os .jars necessários.[/quote]
Amigo, como foi dito antes o JPA é uma Especificação.
o Trabalho dela é facilitar o uso de frameworks ORM.
Vou dar um exemplo bem simples para vc viajar…
Digamos que você é cliente de dois bancos. (Bradesco e Itaú).
E você tem que fazer operações nos dois bancos frequentemente.
Aí vc contrata uma empresa(JPA) para resolver suas coisas com os bancos porque voce não gosta de pegar filas, não tempo, … sei lá o motivo!
A partir desse momento, quando você precisar resolver alguma coisa em qualquer banco que seja, vc pede para a empresa (JPA) resolver para você.
E ela se vira.
Não importa como eh q resolve no bradesco ou no itaú.
Ela que tem q saber como fazer.
E você não precisa se preocupar com as burocracias de cada banco!
Voltando para a área técnica
O JPA (empresa) conhece os comandos dos Frameworks ORM (Bancos).
E você só precisa conhecer como lhe dar com o JPA (empresa), independente se você usar o “hibernate” ou “TopLink” (que seriam os bancos do exemplo anterior) ou qualquer outro framework que implemente o JPA.
JPA é apenas uma coleção de interfaces que reconhece seu ORM (Hibernate ou outro…) e faz a persistencia dos dados.
[quote]
Como já foi dito, JPA é uma especificação, ou seja, você precisa utilizar alguma implementação dessa especificação.
Aconselho o Hibernate. Para usá-lo, não precisa de container não, apenas os .jars necessários[/quote]
Essa palavra do Manchester faz grande sentido. Eu estava pensando que JPA, podia implementar um solução de persistência sozinho, sem a ajuda de provedores de persistência. POr isso que nos tutoriais que estão na internet que mostram o uso de JPA, sempre no fim das contas vc deve adicionar um provedor de persistência para realizar as operações.
Acho que é isso, estou certo???
provedor de persistência = hibernate, JDO, TopLink