Whats new? | Login | Parceiros
Cadastre-se | Atendimento | RSS
+ Java:
artigos   |   vídeos   |    cursos   |    mais

Spring 2, JPA e Hibernate – Parte I

O Spring Framework 2 contém uma série de novidades, como por exemplo, o pacote para desenvolvimento de Portlets MVC...

GABRIEL NASCIMENTO
Gabriel Nascimento (gamnascimento@yahoo.com.br), é arquiteto de soluções corporativas. Trabalha com Java a 5 anos. Atualmente, é responsável pela área de sistemas de alta disponibilidade J2EE para canais lotéricos da Caixa Econômica Federal.


Ver space do autor


Estatísticas:
Visualizações:
15165
Favoritado:
 19 vez(es)
Conteúdo:
Didática:
Utilidade:
12 1
votos: 14

Serviços:



Spring 2, JPA e Hibernate – Parte I

 

Introdução

O Spring Framework 2 contém uma série de novidades, como por exemplo, o pacote para desenvolvimento de Portlets MVC, Message Drive POJOs, etc. Porém, uma das principais é a integração com a Java Persistence API (JPA).

 

O objetivo desse artigo é mostrar como integrar essa nova tecnologia de persistência, que faz parte da especificação EJB 3, com Spring 2 e Hibernate.

 

JPA

A Java Persistence API é a persistência de POJOs por meio do mapeamento, utilizando-se das annotations ou de arquivos XML, entre objetos Java e um banco de dados relacional. Ela também traz uma nova linguagem para SQL-like queries, muito semelhante ao HQL do próprio Hibernate, como evolução do EJB QL.

 

A quantidade de classes e interfaces necessárias para desenvolvimento é muito menor quando comparada ao EntityBean EJB 2.x. Nessa versão, para se definir uma entidade persistente eram necessárias a classe que implentava a interface javax.entity.EntityBean, e mais duas classes que implementassem as interfaces javax.ejb.LocalObject e javax.ejbLocalHome. Sendo era necessário implementar diversos callback métodos da classe javax.entity.EntityBean, para o EntityBean se “comunicar” com o container: ejbRemove, ejbActivate, ejbPassivate, ejbLoad, ejbStore, setEntityContext, and unsetEntityContext.

 

Na JPA é apenas necessário que sua entidade, conforme dito anteriormente seja um POJO, e tenha a anotação @Entity definida na classe. Essa é uma grande vantagem com relação às versões anteriores. Informações sobre a entidade como relacionamentos, tipo de dados, etc., são definidos como annotations. Mais detalhes sobre o código e implementação serão mostrados nos próximos capítulos.

 

Outra grande novidade é que a JPA permite o uso de outras tecnologias de persistência como plugins à API. Isso permite que os desenvolvedores não deparem mais com problemas de incompatibilidade entre as diversas tecnologias existentes no mercado, atualmente, como: Hibernate, TopLink, JDO, etc.

 

Diversos produtos, hoje, já possuem uma implementação da JPA: Glassfish, JBoss (Hibernate), Oracle (TopLink), etc.

 

Nesse artigo estaremos utilizando o Hibernate como provider.





Participe! Inclua um comentário
[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar ;-)



 


[Fechar]
Este post está disponível para assinantes da Java Magazine, WebMobile ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
DevMedia Group   www.devmedia.com.br   |   www.javafree.org   |   www.mrbool.com
2010 - Todos os Direitos Reservados a DevMedia Group - (21) 3382-5038