..


Sponsored Links

Data Access - Erstellen eines ORM-Layer mit Hibernate und JPA

Nun wollen wir sehen, wie ein ORM-Schicht mit 3 Hibernate und JPA 2 zu erstellen (für das richtige Verständnis dieser Lektion wird davon ausgegangen, dass der Leser grundlegende Kenntnisse über die Datenquelle und den Betrieb von Hibernate und JPA hat).

Angenommen, wir haben eine DB MySQL auf unserem Rechner installiert haben, definieren Sie zunächst eine Datenquelle in unsere applicationContext.xml, dass unsere db verbindet:






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



Sobald wir eine Datenquelle für JPA Persistence-Unit in der Datei META-INF/persistence.xml befindet erstellt:





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







 </ Persistence>



An diesem Punkt sind wir bereit, mit Hibernate und JPA integrieren:





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



Ohne diese unsere creaimo EntityManagerFactory, dass wird uns erlauben, die DAO in unsere EntityManger injizieren:





 <-! FACTORY MANAGER ENTITY ->







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



Beispiel erstellen wir eine Entity Autostunden:





 it.mrwebmaster.hibernate Paket;









 import java.util.Date;









 javax.persistence.Column Einfuhren;







 javax.persistence.Entity Einfuhren;







 javax.persistence.GeneratedValue Einfuhren;







 javax.persistence.Id Einfuhren;







 javax.persistence.PersistenceUnit Einfuhren;









 @ Entity







 @ PersistenceUnit (unitName = "pu")







 public class Auto {





  



 @ Override



  



 public String toString () {



    



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



  



 }





  



 @ Id



  



 @ GeneratedValue



  



 private String id;



	

  



 @ Column



  



 private String name;





  



 @ Column



  



 Private Date Jahr;





  



 öffentlichen Integer getId () {



    



 Rückkehr id;



  



 }





  



 public String getName () {



    



 return name;



  



 }





  



 public Date getYear () {



    



 Rückkehr Jahr;



  



 }





  



 public void setId (Integer id) {



    



 this.id = id;



  



 }





  



 public void setName (String name) {



    



 this.name = name;



  



 }



	

  



 public void setYear (Datum Jahr) {



    



 this.year = Jahr;



  



 }







 }



Unser Unternehmen hat nur drei Spalten: ID, Name und Jahr, wo die Id-Spalte wird unser Primary Key, der automatisch von Hibernate generiert werden.
Nach Angabe in unserer Konfigurationsparameter "bill = true", wird Hibernate die Tabellen in unserer DB automatisch aktualisiert.
Die "Nutzung der Annotation @ PersistenceUnit mit dieser Konfiguration line nell'applicationContext XML.:





 <-! JPA-Annotation ->







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



können Sie vermeiden, die Angabe, in der Ausdauer-Einheit, die Liste der Personen in unserer Anwendung.

Java Spring Reiseführer
E-Learning
Linux (Kurs) Linux (Kurs)
Ein vollständiger Reiseführer von Open-Source-System. Ab 49 €.
PHP (Kurs) PHP (Kurs)
Vollständige natürlich für die Erstellung dynamischer Websites. Ab 49 €.
Ruby und Ruby on Rails (Kurs) Ruby und Ruby on Rails (Kurs)
Erstellen von Software-und Web-Anwendungen mit Ruby und RoR. Ab 39 €.
Sponsored Links