Minha Opinião sobre a JPA
junho 29, 2007 às 12:01 am | Publicado em Java, JEE | 2 ComentáriosA java persistence API ou simplesmente JPA foi lançada como uma das grandes novidades do Java EE 5. A idéia de criar uma especificação para frameworks ORM é bem interessante e foi muito bem aceita por toda a comunidade.
Mas nem tudo é maravilha. Eu esperava muito mais da API e hoje a considero como um subconjunto do hibernate. Muitas funcionalidades interessantes que o hibernate oferece não fazem parte da especificação, como a API de Criteria.
Quem já usa o hibernate não vai estranhar a mudança para a JPA. Como o hibernate já permitia que a classes fossem mapeadas com as anotações do JPA, a mudança fica em alterar as interfaces utilizadas, como exemplo Session por EntityManager.
Pra falar que não achei nada de interessante na JPA, os nomes dos métodos ficaram mais interessantes. Basta olhar para um entityManager.find(xx) ou entityManager.persist(xx) para saber o que ele faz.
Acho que a grande prova de que a API está incompleta e imatura é o fato de permitir acessar o provider utilizado. O provider deveria ser abstraído e sempre ser utilizado através das interfaces do JPA.
Se você é preguiçoso como eu e não gosta de escrever HQL ou JPAQL, pode fazer isso:
É isso mesmo que você está vendo, chamando o método getDelegate() é possível recuperar o provider que está sendo utilizado, como exemplo uma Session do hibernate e executar uma criteria. Parece interessante mais isso é muito perigoso e quebra umas dos princípios da JPA, a independência de um provider.
Resumindo, vou continuar com o Hibernate em meus projetos e esperar a versão 2.0 da JPA, onde está sendo prometido uma API parecida com a Criteria além de outras anotações bem interessantes que hoje só existe no Hibernate.
E você, o que achou da JPA???
Blog no WordPress.com. | Tema: Pool até Borja Fernandez.
Entradas e comentários feeds.
