Việc làm java

Hibernate a besoin de savoir comment charger et stocker des objets d’une classe persistante. C’est là qu’intervient le fichier de mapping Hibernate. Le fichier de mapping indique à Hibernate à quelle table dans la base de données il doit accéder, et quelles colonnes de cette table il devra utiliser.

La structure basique de ce fichier de mapping ressemble à ça :

<?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> […] </hibernate-mapping>

Notez que la DTD Hibernate est très sophistiquée. Vous pouvez l’utiliser pour l’auto-complétement des éléments et des attributs de mapping XML dans votre éditeur ou votre IDE. Vous devriez aussi ouvrir le fichier DTD dans votre éditeur de texte – c’est le moyen le plus facile d’obtenir une vue d’ensemble de tous les éléments et attributs, et de voir les valeurs par défaut, ainsi que quelques commentaires. Notez qu’Hibernate ne chargera pas le fichier DTD à partir du web, mais regardera d’abord dans le classpath de l’application. Le fichier DTD est inclus dans hibernate3.jar ainsi que dans le répertoire src de la distribution Hibernate.

Nous omettrons la déclaration de la DTD dans les exemples futurs pour raccourcir le code. Bien sûr il n’est pas optionnel.

Entre les deux balises hibernate-mapping, incluez un élément class. Toutes les classes d’entités persistantes (encore une fois, il pourrait y avoir des classes dépendantes plus tard, qui ne sont pas des entités mère) ont besoin d’un mapping vers une table de la base de données SQL :

<hibernate-mapping> <class name=”events.Event” table=”EVENTS”> </class> </hibernate-mapping>

Plus loin, nous disons à Hibernate comment persister et charger un objet de la classe Event dans la table EVENTS, chaque instance est représentée par une ligne dans cette table. Maintenant nous continuons avec le mapping de la propriété de l’identifiant unique vers la clef primaire de la table. De plus, comme nous ne voulons pas nous occuper de la gestion de cet identifiant, nous utilisons une stratégie de génération d’identifiant d’Hibernate pour la colonne de la clef primaire subrogée :

<hibernate-mapping> <class name=”events.Event” table=”EVENTS”> <id name=”id” column=”EVENT_ID”> <generator class=”native”/> </id> </class> </hibernate-mapping>

The id element is the declaration of the identifier property, name=”id” declares the name of the Java property – Hibernate will use the getter and setter methods to access the property. The column attribute tells Hibernate which column of the EVENTS table we use for this primary key. The nested generator element specifies the identifier generation strategy, in this case we used native, which picks the best strategy depending on the configured database (dialect). Hibernate supports database generated, globally unique, as well as application assigned identifiers (or any strategy you have written an extension for).

Finalement nous incluons des déclarations pour les propriétés persistantes de la classe dans le fichier de mapping. Par défaut, aucune propriété de la classe n’est considérée comme persistante :

<hibernate-mapping> <class name=”events.Event” table=”EVENTS”> <id name=”id” column=”EVENT_ID”> <generator class=”native”/> </id> <property name=”date” type=”timestamp” column=”EVENT_DATE”/> <property name=”title”/> </class> </hibernate-mapping>

Comme avec l’élément id, l’attribut name de l’élément property indique à Hibernate quels getters/setters utiliser.

Pourquoi le mapping de la propriété date inclut l’attribut column, mais pas title ? Sans l’attribut column Hibernate utilise par défaut le nom de la propriété comme nom de colonne. Ca fonctionne bien pour title. Cependant, date est un mot clef réservé dans la plupart des bases de données, donc nous utilisons un nom différent pour le mapping.

La prochaine chose intéressante est que le mapping de title manque aussi d’un attribut type. Les types que nous déclarons et utilisons dans les fichiers de mapping ne sont pas, comme vous pourriez vous y attendre, des types de données Java. Ce ne sont pas, non plus, des types de base de données SQL. Ces types sont donc appelés des types de mapping Hibernate, des convertisseurs qui peuvent traduire des types Java en types SQL et vice versa. De plus, Hibernate tentera de déterminer la bonne conversion et le type de mapping lui-même si l’attribut type n’est pas présent dans le mapping. Dans certains cas, cette détection automatique (utilisant la réflexion sur la classe Java) pourrait ne pas donner la valeur attendue ou dont vous avez besoin. C’est le cas avec la propriété date. Hibernate ne peut pas savoir si la propriété “mappera” une colonne SQL de type date, timestamp ou time. Nous déclarons que nous voulons conserver des informations avec une date complète et l’heure en mappant la propriété avec un timestamp.

Ce fichier de mapping devrait être sauvegardé en tant que Event.hbm.xml, juste dans le répertoire à côté du fichier source de la classe Java Event. Le nommage des fichiers de mapping peut être arbitraire, cependant le suffixe hbm.xml est devenu une convention dans la communauté des développeurs Hibernate. La structure du répertoire devrait ressembler à ça :

. +lib <Hibernate and third-party libraries> +src +events Event.java Event.hbm.xml

Nous poursuivons avec la configuration principale d’Hibernate.

Related Posts

xnxx dress change brostube.info sex videos hd mp4 xenoblade chronicles 2 hentai justhentaiporn.com sweet guilty love bites الكس الذهبى 3gpkings.pro سكس عر بي www.red wab.com tubanator.com xnxx only girls قصص سكس محارم خالات arab-porno.net بنت تنيك راجل
tubezx ganstavideos.info desi sexy bhabi زب بلبن okunitani.com سكس ستات مع حيوانات www.south indian xnxx.com orangeporn.info indian sexx.com shakeela fucking video milfporntrends.com house wife mms نيك مدرب المحله matureporni.com سكسجماعى
gujrat sexy video indianpornsluts.com anjali hot videos desi real rape videos foxporns.info nude indian porn clips island hentai hentaisin.com hentai mother condom pakistan group sex pornpakistani.com sneha xvideos xvedios es redporntube.info sayali sanjeev