..


Liens sponsorisés

Accès aux données - Création d'une couche ORM utilisant Hibernate et JPA

Maintenant, nous allons voir comment créer une couche ORM utilisant Hibernate 3 et JPA 2 (pour la compréhension correcte de cette leçon, il est supposé que le lecteur a des connaissances de base sur la source de données et le fonctionnement de l'Hibernate et JPA).

Supposons que nous ayons une DB MySQL installée sur notre machine, d'abord nous allons définir notre applicationContext.xml une source de données qui se connecte à notre base de données:






 <! - Source de données ->







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



Une fois que nous créons une source de données créée pour l'unité de persistance JPA situé dans le META-INF/persistence.xml fichier:





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







 <Xmlns la persistance = "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>



À ce point nous sommes prêts à intégrer avec Hibernate et JPA:





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



Sans cette EntityManagerFactory notre creaimo qui va nous permettre d'injecter la DAO dans notre EntityManger:





 <! - ENTITÉ directeur de l'usine ->







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



Par exemple, nous créons entité maintenant une voiture:





 forfait it.mrwebmaster.hibernate;









 import java.util.Date;









 javax.persistence.Column importations;







 les importations javax.persistence.Entity;







 les importations javax.persistence.GeneratedValue;







 les importations javax.persistence.Id;







 les importations javax.persistence.PersistenceUnit;









 @ Entity







 @ PersistenceUnit (NomUnité = "peut")







 public class Voiture {





  



 @ Override



  



 toString public String () {



    



 retour "voiture [id =" + id + "name =" + nom + ", year =" + an + "]";



  



 }





  



 @ Id



  



 @ GeneratedValue



  



 id: String privé;



	

  



 @ Column



  



 private String nom;





  



 @ Column



  



 année Date privé;





  



 Entier getId publique () {



    



 retour id;



  



 }





  



 public String getName () {



    



 retour nom;



  



 }





  



 getYear public Date () {



    



 revenir l'an;



  



 }





  



 public void setId (Integer id) {



    



 this.id = id;



  



 }





  



 public void setName (String nom) {



    



 this.name = nom;



  



 }



	

  



 setYear public void (année date) {



    



 this.year = année;



  



 }







 }



Notre entité a seulement trois colonnes: ID, nom, et l'année, où la colonne Id est notre clé primaire qui sera généré automatiquement par Hibernate.
Après avoir précisé dans notre paramètre de configuration "= true bill", Hibernate va mettre à jour les tables dans notre base de données automatiquement.
L 'utilisation de la PersistenceUnit annotation @ avec cette configuration de la ligne nell'applicationContext Xml.:





 <! - ANNOTATION JPA ->







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



rend inutile de préciser, au sein de l'unité de persistance, la liste des entités dans notre application.

Printemps de Java Guide
E-Learning
Linux (Cours) Linux (Cours)
Guide complet de système open-source. A partir de 49 €.
PHP (cours) PHP (cours)
Cours complet pour la création de sites Web dynamiques. A partir de 49 €.
Ruby et Ruby on Rails (Cours) Ruby et Ruby on Rails (Cours)
Créer des applications logicielles et Web avec Ruby et RoR. A partir de 39 €.
Liens sponsorisés