Les FAQs Java :
FAQ JAVA FAQ Java EE FAQ Java ME FAQ Java XML FAQ JavaFX FAQ Java GUI FAQ Struts FAQ JSF FAQ JDBC JDO FAQ Hibernate FAQ Spring FAQ Eclipse FAQ NetBeans FAQ JCreator FAQ Maven 2

La FAQ HibernateConsultez toutes les FAQ

Nombre d'auteurs : 4, nombre de questions : 63, dernière mise à jour : 5 juin 2009 

 
OuvrirSommaireLes fichiers de mapping

Un fichier de mapping est tout simplement un fichier XML qui va permettre à Hibernate de faire le lien entre vos objets Java et la base de données.

Voici sa structure la plus basique :

 
Sélectionnez
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
<hibernate-mapping>
 
    <class name="NomDeLaClasse" table="NOMDELATABLE">
 
    </class>
 
</hibernate-mapping>

La seule chose que nous lui disons pour le moment est quelle classe (un simple javaBean) correspond à quelle table.

Le nom de ces fichiers doit se terminer par .hbm.xml pour qu'Hibernate sache que c'est un fichier de mapping. De plus, par convention, on écrit un fichier de mapping par classe de persistance.

Créé le 2006-10-22  par Baptiste Wicht

Lien : Comment doivent être faites mes classes de persistance ?

Pour ajouter une propriété à un de vos objets, il vous faut modifier le fichier de mapping de cet objet.

L'ajout d'une propriété est très simple, il vous suffit d'ajouter une ligne comme celle-ci :

 
Sélectionnez
<property name="nomDeLaVariable" type="typeDeLaValeur" column="ColonneOuTrouverCetteValeur"/>

Comme vous le voyez, c'est très simple, il vous juste associer le nom de la variable du Javabean au nom de la colonne de la base de données.

Créé le 2006-10-22  par Baptiste Wicht

Comme il est conseillé de bien séparer la couche de persistance de la couche métier, vos classes de persistances, seront de simples classes avec des getters et des setters, des Javabeans. Il faudrait éviter d'implémenter des opérations métiers dans ces classes, mais cette restriction est très relative et plusieurs opinions existent sur le sujet. L'important étant que vous sépariez correctement les couches de votre application.

Voici un simple exemple d'une de ces classes :

 
Sélectionnez
public class OdActeur {
	private String nom = null;
	private String prenom = null;
 
	public String getNom(){
		return nom;
	}
 
	public void setNom(String nom){
		this.nom = nom;
	}
 
	public String getPrenom(){
		return nom;
	}
 
	public void setPrenom(String prenom){
		this.prenom = prenom;
	}
}

Il faut faire très attention à la casse des variables et de leurs getters/setters. Un nom de variable commence par une minuscule et le nom de son getter est formé de get suivi du nom de la variable avec la première lettre en majuscule. Si vous ne respectez cette casse, Hibernate ne vas pas trouver vos propriétés et ne pourra donc pas fonctionner correctement.

Mis à jour le 2008-02-11  par Baptiste Wicht

Lien : Pourquoi est-ce que j'obtiens une erreur lorsque j'utilise un type primitif dans mon javabean ?


La réponse est oui. Effectivement, Hibernate permet de mapper les classes qui n'ont pas de clé primaire.


Lorsqu'une table n'a pas de clé primaire, le tag <generator .. > à l'intérieur du tag <id .....> </id> n'est pas indispensable car par defaut, il est à "assigned" . Mais le tag <id .....> </id> est obligatoire car Hibernate se sert de ce tag pour rechercher (loader vos objets). Dans vos fichiers de mapping, vous devez avoir ceci :

 
Sélectionnez
<id
	column="nomColumn"
	name="unNom"
	type="LeType"
>
	<generator class="assigned" />
</id>
<property ... />


Ou Ceci :

 
Sélectionnez
<id
	column="nomColumn"
	name="unNom"
	type="LeType"
>
</id>
<property ... />
Créé le 2008-02-11  par enok37

Lien : Plus d'informationsPlus d'informations

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 - 2009 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Cette page est déposée.