Chapter 11 Génération d'objets persistants .NET 2.0 et d'applications Windows


Définition des correspondances de classe

Il existe deux types de classes dans NHibernate:

NHibernate utilise fichiers de correspondances XML pour définir les correspondances des métadonnées. Chaque fichier de correspondance peut contenir les métadonnées d'une ou de plusieurs classes. PowerAMC utilise les stratégies de regroupement suivantes :

Les classes peuvent être mises en correspondances avec des tables ou des vues. Les vues ayant de nombreuses contraintes et des fonctionnalités limitées (par exemple, elles n'ont ni clé primaire ni clés de référence), certaines vues ne peuvent pas être mises à jour, et les correspondances peuvent ne pas fonctionner correctement dans certains cas.

Certaines conditions doivent être remplies pour pouvoir générer une correspondance pour une table particulière :

Les options de correspondance de classe spécifiques à NHibernate sont définies dans l'onglet NHibernate de la feuille de propriétés d'une classe :


Option Description
Insertion dynamique Spécifie qu'une instruction INSERT SQL doit être générée lors de l'exécution et contiendra uniquement les colonnes dont les valeurs ne sont pas nulles.

Balise Hibernate : dynamic-insert
Modification dynamique Spécifie qu'une instruction UPDATE SQL doit être générée lors de l'exécution et contiendra uniquement les colonnes dont les valeurs ont été modifiées.

Balise Hibernate : dynamic-update
Sélection avant modification Spécifie que Hibernate ne doit jamais procéder à un SQL UPDATE à moins d'être certain qu'un objet soit effectivement modifié.

Balise Hibernate : select-before-update
Type de cascade par défaut Spécifie le style de cascade par défaut.

Balise Hibernate : default-cascade
Type d'accès par défaut Spécifie le type d'accès par défaut (champ ou propriété)

Balise Hibernate : default-access
Nom de proxy Spécifie une interface à utiliser pour l'initialisation de proxy à la demande.

Balise Hibernate : proxy
Taille de lot Spécifie une "taille de lot" pour la récupération des instances de cette classe par identifiant.

Balise Hibernate : batch-size
Vérification Spécifie une expression SQL utilisée pour générer une contrainte de vérification multiligne pour la génération automatique de schéma.

Balise Hibernate : check
Polymorphisme Spécifie si un polymorphisme de requête implicite ou explicite est utilisé.

Balise Hibernate : polymorphism
Nom du schéma Spécifie le nom du schéma de base de données.

Balise Hibernate : schema
Nom de catalogue Spécifie le nom du catalogue de base de données.

Balise Hibernate : catalog
ID de ligne Spécifie que Hibernate peut utiliser la colonne ROWID sur les bases de données qui la prennent en charge (par exemple, Oracle).

Balise Hibernate : rowed
Nom de classe persistante Spécifie une classe de persistance personnalisée.

Balise Hibernate : persister
Type de valeur Spécifie que la classe persistante est un type de valeur.

Balise Hibernate : N/A
A la demande Spécifie que la classe doit être à la demande.

Balise Hibernate : lazy
Modifiable Spécifie que les instances de la classe sont modifiables.

Balise Hibernate : mutable
Classe abstraite Spécifie que la classe est abstraite.

Balise Hibernate : abstract
Importation automatique Spécifie qu'un nom de classe non qualifié peut être utilisé dans une requête.

Balise Hibernate : Auto-import
Colonne discriminante Spécifie la colonne ou formule discriminante pour le comportement polymorphique dans une table par stratégie de correspondance hiérarchique.

Balise Hibernate : discriminator
Valeur discriminante Spécifie une valeur qui distingue les sous-classes individuelles, qui sont utilisées pour un comportement polymorphique.

Balise Hibernate : discriminator-value
Type discriminant Spécifie le type discriminant.

Balise Hibernate : type
Forcer Hibernate à utiliser un discriminant Force Hibernate à spécifier des valeurs discriminantes admises et ce, même lors de l'extraction de toutes les instances de la classe racine.

Balise Hibernate : force
Ne pas utiliser de discriminant dans insert Force Hibernate à ne pas inclure la colonne dans les SQL INSERT

Balise Hibernate : insert
Type de verrouillage optimiste Spécifie une stratégie de verrouillage optimiste.

Balise Hibernate : optimistic-lock
Nom de colonne (de verrouillage optimiste) Spécifie la colonne pour le verrouillage optimiste. Un champ est également généré si cette option est définie.

Balise Hibernate : version/ timestamp
Valeur non enregistrée (de verrouillage optimiste) Spécifie si une valeur non enregistrée est nulle ou indéfinie.

Balise Hibernate : unsaved-value

 


Copyright (C) 2007. Sybase Inc. All rights reserved.