Onglet Verrouillage

Pour spécifier la règle de verrouillage d'un descripteur, procédez comme suit :

1. Dans le Navigateur, sélectionnez un descripteur racine EIS ou relationnel.

   Si la propriété avancée Verrouillage n'est pas visible pour le descripteur, cliquez avec le bouton droit de la souris sur ce dernier et sélectionnez Définir les propriétés avancées > Verrouillage dans le menu contextuel ou dans le menu Sélectionnés.

2. Cliquez sur l'onglet Verrouillage.

Utilisez ce tableau pour savoir comment remplir les champs suivants de l'onglet de type :

Champ | Description
--- | ---
Verrouillage optimiste | Indique que le descripteur utilise le verrouillage optimiste.
Par version | Active l'utilisation du verrouillage optimiste, sur la base du numéro de version.
Champ de base de données | Sélectionnez le champ de base de données contenant les informations de version utilisées pour le verrouillage optimiste. Ce champ apparaît uniquement pour les descripteurs relationnels.
XPath | Cliquez sur Parcourir pour spécifier le chemin de l'élément ou de l'attribut qui stocke la valeur de version. Ce champ apparaît uniquement pour les descripteurs racine EIS. Vérifiez que le type de l'attribut correspond à celui de la règle de verrouillage choisie (`Numérique` pour Verrouillage de la version et `Horodatage` pour Verrouillage de l'horodatage).
Verrouillage de la version | Indique que le descripteur utilise le verrouillage de version numérique. Le champ de version (défini par l'option Champ de base de données pour les descripteurs relationnels et par l'option XPath pour les descripteurs racine EIS) doit être de type `numérique`.
Verrouillage de l'horodatage | Indique que le descripteur utilise le verrouillage de version sur la base de l'horodatage. Le champ de version (défini par l'option Champ de base de données pour les descripteurs relationnels et par l'option XPath pour les descripteurs racine EIS) doit être de type `horodatage`.

Mettre la version en mémoire cache

Indiquez si vous souhaitez stocker les informations sur la version dans le cache.

Si vous choisissez de ne pas définir de mapping pour le champ de version, vous devez activer cette option afin de configurer le descripteur de sorte qu'il stocke la valeur de version dans le cache Oracle TopLink.

Si vous choisissez de définir un mapping pour le champ de version, vous devez désactiver cette option pour stocker la valeur de version dans l'objet.

Pour plus d'informations, reportez-vous à Verrouillage optimiste dans une application à trois niveaux.

Par champ Note de bas de page 1 | Active l'utilisation du verrouillage optimiste, sur la base des champs de base de données. Ces champs apparaissent uniquement pour les descripteurs relationnels.
Tous les champs | Sélectionnez tous les champs pour le verrouillage optimiste.
Champs modifiés | Sélectionnez uniquement les champs modifiés pour le verrouillage optimiste.
Champs sélectionnés | Cliquez sur Ajouter pour sélectionner des champs de base de données spécifiques pour le verrouillage optimiste.
Verrouillage pessimiste | Active l'utilisation du verrouillage pessimiste pour ce descripteur. S'applique uniquement aux descripteurs pour lesquels des informations EJB ont été configurées (reportez-vous à Configuration d'un descripteur avec des informations EJB).

Attendre le verrouillage

Indique si TopLink doit attendre le verrouillage de la source de données. Si cette option n'est pas sélectionnée, le thread d'exécution génère immédiatement une exception `DatabaseException` s'il ne peut pas acquérir de verrou de lecture sur l'objet.

Si cette option est sélectionnée, le thread d'exécution attend indéfiniment la libération du verrou de lecture pour tenter de l'acquérir. Soyez prudent lorsque vous utilisez cette option car elle peut conduire à des interblocages (deadlock) d'applications.

Note de bas de page 1 Vous ne pouvez pas utiliser le verrouillage de champ avec `AttributeChangeTrackingPolicy` (reportez-vous à Règle de suivi des modifications d'attribut).

Voir aussi

  Configuration d'une règle de verrouillage