A JPA é o resultado do trabalho do JCP durante a criação do EJB 3.0
O EJB 3.0 define uma camada de persistência na base de dados completamente separada e que pode facilmente trabalhar sozinha sem necessidade de um application server.
É por isso que a implementação EJB 3.0 do Jboss usa o hibernate. Neste caso ele é usado como a camada de persistência dos objectos na base de dados. Assim, o hibernate é uma implementação JPA.
Existem por aí outras implementações JPA disponíveis, como por exemplo o OpenJpa da apache, a implementação da Sun no glassfish ou o kodo.
Todas as outras API(s) de persistência existentes (e são várias) podem agora suportar facilmente os interfaces definidos no standard e desta forma todos ganharem com a possibilidade de escolha que o standard nos oferece.
Assim, sempre que uma aplicação desenvolvida em Java necessitar de persistir os dados numa base de dados relacional poderemos fazê-lo usando um standard (e por isso ter portabilidade e independência das implementações) mesmo que não esteja disponível um EJB container.
Uma das boas características do standard é o facto de se preocupar em tornar simples a persistência de simples POJOS (Plain Old Java Objects) em tabelas de bases de dados relacionais.
Esta simplicidade é conseguída em grande parte devido à utilização das anotações (para fazer o mapeamento com a base de dados) e de uma linguagem "Sql like".
É definitivamente uma API a usar de forma extensiva no desenvolvimento das aplicações.
O EJB 3.0 define uma camada de persistência na base de dados completamente separada e que pode facilmente trabalhar sozinha sem necessidade de um application server.
É por isso que a implementação EJB 3.0 do Jboss usa o hibernate. Neste caso ele é usado como a camada de persistência dos objectos na base de dados. Assim, o hibernate é uma implementação JPA.
Existem por aí outras implementações JPA disponíveis, como por exemplo o OpenJpa da apache, a implementação da Sun no glassfish ou o kodo.
Todas as outras API(s) de persistência existentes (e são várias) podem agora suportar facilmente os interfaces definidos no standard e desta forma todos ganharem com a possibilidade de escolha que o standard nos oferece.
Assim, sempre que uma aplicação desenvolvida em Java necessitar de persistir os dados numa base de dados relacional poderemos fazê-lo usando um standard (e por isso ter portabilidade e independência das implementações) mesmo que não esteja disponível um EJB container.
Uma das boas características do standard é o facto de se preocupar em tornar simples a persistência de simples POJOS (Plain Old Java Objects) em tabelas de bases de dados relacionais.
Esta simplicidade é conseguída em grande parte devido à utilização das anotações (para fazer o mapeamento com a base de dados) e de uma linguagem "Sql like".
É definitivamente uma API a usar de forma extensiva no desenvolvimento das aplicações.
Só agora é que reparei, então ninguem falou aqui do EasyBeans?
ResponderEliminarAté trabalha com OSGi e tudo!!!
E acreditem em mim quando digo que isso conjuntamente com SCA e SDO vão ser as next-big-thing a aparecerem...
Pera lá, isto já é "matéria" para outro "conto"...