..


Sponsrade länkar

Data Access - Skapa ett ORM lager med Hibernate och JPA

Nu ska vi se hur man skapar en ORM lager med Hibernate 3 och JPA 2 (för en korrekt förståelse av den här lektionen är det förutsätts att läsaren har grundläggande kunskaper om datakälla och driften av Hibernate och JPA).

Antag att vi har en DB MySQL installerat på vår maskin, låt oss först definiera våra applicationContext.xml en datakälla som ansluter till vår DB:






 <- Data Source ->







 <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>



När vi skapar en datakälla skapas för församlingen persistens enhet finns i filen META-INF/persistence.xml:





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







 <Persistens 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" />







 </ Persistens>



På denna punkt är vi redo att integrera med Hibernate och JPA:





 <-! Församlingen och 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>



Utan denna vår creaimo EntityManagerFactory som ger oss möjlighet att injicera DAO i vår EntityManger:





 <-! FACTORY MANAGER enhet ->







 <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>



Entity exempel ska vi nu skapa en bil:





 it.mrwebmaster.hibernate paket;









 import java.util.Date;









 javax.persistence.Column import;







 javax.persistence.Entity import;







 javax.persistence.GeneratedValue import;







 javax.persistence.Id import;







 javax.persistence.PersistenceUnit import;









 @ Entity







 @ PersistenceUnit (unitName = "kan")







 public class Bil {





  



 @ Åsidosätt



  



 public String toString () {



    



 return "Bil [id =" + id + "name =" + namn + ", year =" + år + "]";



  



 }





  



 @ Id



  



 @ GeneratedValue



  



 privata sträng-ID;



	

  



 @ Kolumn



  



 private String namn;





  



 @ Kolumn



  



 privata Datum år;





  



 offentliga Integer getId () {



    



 retur-id;



  



 }





  



 public String getName () {



    



 återvända namn;



  



 }





  



 offentliga Datum getYear () {



    



 återkommer år;



  



 }





  



 public void setId (Integer id) {



    



 this.id = id;



  



 }





  



 public void setName (String namn) {



    



 this.name = namn;



  



 }



	

  



 public void setYear (Datum år) {



    



 this.year = år;



  



 }







 }



Vår enhet har bara tre kolumner: Id, Namn och år, där ID-kolumn är vår primära nyckel som kommer att genereras automatiskt viloläge.
Efter att ha specificerat i vår konfiguration parametern "= true Bill", kommer Hibernate uppdatera tabellerna i vår BF automatiskt.
"S användning av annotering @ PersistenceUnit med denna konfiguration linje nell'applicationContext XML.:





 <-! JPA ANTECKNING ->







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



gör det onödigt att ange inom uthållighet enheten i listan över enheter i vår ansökan.

Spring Java-guide
E-Learning
Linux (kurs) Linux (kurs)
Komplett av öppen källkod-system. Från 49 €.
PHP (kurs) PHP (kurs)
Fullständig kurs för att skapa dynamiska webbplatser. Från 49 €.
Ruby och Ruby on Rails (kurs) Ruby och Ruby on Rails (kurs)
Skapa program och webbapplikationer med Ruby och RoR. Från 39 €.
Sponsrade länkar