Việc làm java

Trong bài viết này chúng tôi sẽ giúp các bạn tìm hiểu thông tin và kiến thức về Việc làm java hay nhất được tổng hợp bởi chúng tôi

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

tamilstar hotmoza.tv adult video indian
broken marriage vow may 31 full episode compinoy.com maynilad water interruption
xxnx video com alfatube.mobi isis sex videos
futa cbt hentai madhentai.net hentai daietsu
xxnx sex video vegasmpegs.mobi animal and girl xnxx
vargin sex videos roxtube.mobi gonzoo xxx
xxx com bengali tubefury.mobi karnatak sex
henatai rape xxlhentai.net best rape hentai
الشراميط kentaweb.com نيك مضيفة طيران
tapsee pannu sex video tubenza.mobi tamil mami xvideos
oumi shinano hentaihost.org naruto henti
tamil play hindiporno.net antisexvideos
free indian sex scandels hindipornmovies.org real indian rape sex
セーラー服動画 freejavstreaming.net miaa-167
bollywood actress sexy photo newbigtube.mobi bf janwar