..


Links Patrocinados

Data Access - Criando uma camada ORM usando o Hibernate e JPA

Agora vamos ver como criar uma camada ORM usando Hibernate 3 e JPA 2 (para a correta compreensão desta lição, é assumido que o leitor tenha conhecimentos básicos sobre a fonte de dados e o funcionamento do Hibernate e JPA).

Suponha que temos um DB MySQL instalado em nossa máquina, primeiro vamos definir a nossa applicationContext.xml uma fonte de dados que se conecta ao nosso DB:






 <-! FONTE DE DADOS ->







 <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">



  



 <property name="driverClassName" value="com.mysql.jdbc.Driver" />



  



 <property name="url" value="jdbc:mysql://localhost:3306/mrweb" />



  



 <property name="username" value="mrweb" />



  



 <property name="password" value="s3cret" />







 <Bean />



Uma vez que criar uma fonte de dados criada para unidade de persistência JPA localizado no META-INF/persistence.xml arquivo:





 <? Xml version = "1.0" encoding = "UTF-8"?>







 <Persistência xmlns = "http://java.sun.com/xml/ns/persistence"



  



 xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"



  



 xsi: schemaLocation = "http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"



  



 version = "2.0">







 <persistence-unit name="pu" transaction-type="RESOURCE_LOCAL" />







 <Persistência />



Neste ponto estamos prontos para integração com Hibernate e JPA:





 <! - JPA e Hibernate ->







 <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">



  



 <property name="database" value="MYSQL" />



  



 <property name="showSql" value="true" />



  



 <property name="generateDdl" value="true" />







 <Bean />



Sem esta nossa creaimo EntityManagerFactory que nos permitirá injetar o DAO em nosso EntityManger:





 <-! ENTITY MANAGER DE FÁBRICA ->







 <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">



  



 <property name="dataSource" ref="myDataSource" />



  



 <property name="persistenceUnitName" value="pu" />



  



 <property name="jpaVendorAdapter" ref="jpaVendorAdapter" />







 <Bean />



Exemplo de entidade que criamos agora a Car:





 pacote it.mrwebmaster.hibernate;









 importação java.util.Date;









 javax.persistence.Column importações;







 javax.persistence.Entity importações;







 javax.persistence.GeneratedValue importações;







 javax.persistence.Id importações;







 javax.persistence.PersistenceUnit importações;









 @ Entity







 @ PersistenceUnit (unitName = "can")







 public class Car {





  



 @ Override



  



 public String toString () {



    



 "Car [id =" return + id + "name =" + nome + ", year =" + ano + "]";



  



 }





  



 @ Id



  



 @ GeneratedValue



  



 private String id;



	

  



 @ Column



  



 private String nome;





  



 @ Column



  



 anos Data privado;





  



 pública Integer getId () {



    



 retorno id;



  



 }





  



 public String getName () {



    



 retornar o nome;



  



 }





  



 getYear Data pública () {



    



 voltar ano;



  



 }





  



 public void setId (Integer id) {



    



 this.id = id;



  



 }





  



 setName public void (String nome) {



    



 this.name name =;



  



 }



	

  



 setYear public void (ano Data) {



    



 this.year = ano;



  



 }







 }



Nossa entidade tem apenas três colunas: Id, Nome e Ano, onde a coluna Id é a nossa chave primária que será gerado automaticamente pelo Hibernate.
Ter especificado em nosso parâmetro de configuração "= conta true", o Hibernate irá atualizar as tabelas em nosso banco de dados automaticamente.
'S uso da anotação @ PersistenceUnit com esta configuração da linha nell'applicationContext Xml.:





 <-! ANNOTATION JPA ->







 <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />



torna desnecessário especificar, dentro da unidade de persistência, a lista de entidades em nossa aplicação.

Primavera Java Guia
E-Learning
Linux (Curso) Linux (Curso)
Guia completo para open-source do sistema. A partir de 49 €.
PHP (Curso) PHP (Curso)
Curso completo para a criação de sites dinâmicos. A partir de 49 €.
Ruby e Ruby on Rails (Curso) Ruby e Ruby on Rails (Curso)
Criar aplicações de software e Web com Ruby e RoR. A partir de 39 €.
Links Patrocinados