Jpa x ejb 3.0

Olá pessoal. Desculpe se parecer ignorância mas eu não to conseguindo entender bem… qual a diferença concetirual de Entity Beans (EBJ3.0) e Java Persisntece API? Para mim parece a mesma coisa, contudo tenho um livro aki que fala sobre EJB 3.0 e nem cita JPA.

Obriagado,

Abraços

Rodrigo :wink:

JPA é especificação.

O EJB 3 também, e ele se vale da JPA para mapear as entidades do seu domínio para o banco.

Um livro de EJB 3 que não aborda a JPA, no mínimo, não é completo. Se vc está começando e não conhece nenhum framework ORM, pode se perder em alguns pontos!

Mas e sintaticamente, todas as questões de chave primária, colunas, chave estrangeiras, são implementados da mesma maneira em JPA e EJB 3? Pois, conceitualmente vi algumas diferenças mas sintaticamente quase nenhuma, a nao se questão de especificação…

Sintaticamente?

Como assim?

Veja bem, se vc conhece ORM, entende que quem é responsável pela ‘ligação’ entre OO e o mundo relacional é a JPA…ou seja, o EJB 3 agrega esses conceitos.

Compreende?

Você pode usar JPA tanto em um ambiente EE (com EJB3 Container) ou fora de um ambiente EE.
A grande diferença que em um ambiente EE você pode usar todos os recursos do container, como controle transacional, obter o EntityManager através de DI (dependency Injection), o container fica responsável por fazer o pool de conexões e etc… Mas isso são detalhes do EJB3. No caso do JPA, as mesmas sintaxes são usadas em ambos os ambiente.