..


Sponsede Lenker

Data Access - Lag en ORM lag bruker Hibernate og JPA

La oss nå se hvordan du oppretter en ORM lag med 3 Hibernate og JPA 2 (for den riktige forståelsen av denne leksjonen, antas det at leseren har grunnleggende kunnskaper om datakilden og drift av Hibernate og JPA).

Anta at vi har en DB MySQL installert på maskinen vår, først definere en datakilde i vår applicationContext.xml som kobles til db vår:






 <-! Datakilde ->







 <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 oppretter en datakilde som er opprettet for JPA persistens enhet plassert i filen META-INF/persistence.xml:





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







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







 </ Utholdenhet>



På dette punktet er vi klare å integrere med Hibernate og JPA:





 <-! JPA og 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>



Uten dette vårt creaimo EntityManagerFactory som vil tillate oss å injisere DAO inn EntityManger vår:





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



Eksempel vi skape en Entity timer Bil:





 it.mrwebmaster.hibernate pakke;









 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 = "pu")







 public class Bil {





  



 @ Override



  



 public String toString () {



    



 return "Car [id =" + id + ", name =" + navn + ", year =" + år + "]";



  



 }





  



 @ Id



  



 @ GeneratedValue



  



 private String id;



	

  



 @ Column



  



 private String navn;





  



 @ Column



  



 private Date år;





  



 public Integer getId () {



    



 tilbake id;



  



 }





  



 public String getName () {



    



 returnere navn;



  



 }





  



 public Date getYear () {



    



 tilbake år;



  



 }





  



 public void setId (Integer id) {



    



 this.id = id;



  



 }





  



 public void setName (String navn) {



    



 this.name = navn;



  



 }



	

  



 public void setYear (Dato år) {



    



 this.year = år;



  



 }







 }



Våre Entity har bare tre kolonner: ID, navn og år, hvor Id kolonnen vil være vår Primærnøkkel som genereres automatisk av Hibernate.
Å ha spesifisert i vår konfigurasjon parameter "bill = true", vil Hibernate oppdatere tabellene i DB vår automatisk.
Den bruk av annotering @ PersistenceUnit med denne konfigurasjonen linjen nell'applicationContext Xml.





 <-! JPA kommentar ->







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



gjør det mulig å unngå å spesifisere innenfor utholdenhet enhet, listen over enheter i applikasjonen vår.

Java Spring Guide
E-Learning
Linux (Course) Linux (Course)
Komplett guide til open-source system. Starter fra 49 €.
PHP (Course) PHP (Course)
Full kurs for å lage dynamiske nettsider. Starter fra 49 €.
Ruby og Ruby On Rails (Course) Ruby og Ruby On Rails (Course)
Opprette programvare og web applikasjoner med Ruby og RoR. Starter fra 39 €.
Sponsede Lenker