JPA Como, porque, quando?

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!!

:evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil: :evil:

sua santidade… joia?

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 ? :wink:

um bom livro é o Enterprise JavaBeans 3.0 5th Edition do OReilly

1 curtida

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.

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.

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…

é bem interessante :slight_smile:

[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…

Um livro que li e recomendo:

Pro EJB 3: Java Persistence API:
http://www.apress.com/book/bookDisplay.html?bID=10093

[]´s

Carlos

Meus queridos irmãos…
Agradeço de coração todas as respostas que me enviaram!!
Foram de grande valia!
Que todos fiquem com Deus!! :lol:

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 ! :stuck_out_tongue:

up :frowning:

[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 ! :stuck_out_tongue:

[/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.

Compre o livro << Java persistence with hibernate >> .:

http://www.guj.com.br/posts/list/47143.java#360304

Tenho um texto explicando o que é a JPA com links para tutoriais de implementação e outro explicando o conceito de Provedor de Persistência

O primeiro texto deve te ajudar a esclarecer o que é a API. O segundo deve clarear a dúvida sobre o que precisa para rodar uma aplicação usando JPA.

obrigado a todos, vou dar uma olhada no material indicado !
t+

confere

[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 ! :stuck_out_tongue:

[/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]

Exatamente.
òtima definição, simples e objetiva

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

Confere???