..
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.
<! - 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.
| |
Linux (Cours)
Guide complet de système open-source. A partir de 49 €. |
| |
PHP (cours)
Cours complet pour la création de sites Web dynamiques. A partir de 49 €. |
| |
Ruby et Ruby on Rails (Cours)
Créer des applications logicielles et Web avec Ruby et RoR. A partir de 39 €. |