Expressions des chemins d'accès

Une expression de chemin est une variable d'identification suivie de l'opérateur de navigation ( . ) et d'une zone CMP (Container Managed Persistence) ou d'un nom de relation.

Une expression de chemin d'accès qui mène à une zone cmr permet de naviguer plus avant si cette zone cmr est à valeur unique. En revanche, si elle mène à une relation à plusieurs valeurs, il s'agit d'une expression de chemin terminale qui ne permet pas de naviguer plus avant. Si l'expression de chemin d'accès mène à une zone CMP de type objet valeur, vous pouvez naviguer jusqu'aux attributs de l'objet valeur.

Exemple : Objet valeur

Supposons que address désigne une zone CMP pour EmpBean, lequel est un objet valeur.
SELECT  object(e)  FROM EmpBean e
WHERE  e.address.distance('San Jose') < 10  and e.address.zip = 95037

Il est préférable d'utiliser le modèle de composeur pour mettre en correspondance des attributs d'objet valeur avec des colonnes de relations si vous prévoyez de rechercher des attributs de valeur. Si vous stockez des objets valeur en format sérialisé, chaque objet valeur doit être extrait de la base de données et désérialisé. Les méthodes d'objet valeur ne peuvent être activées que dans des requêtes dynamiques.

Une expression de chemin d'accès peut également permettre de naviguer jusqu'à une méthode bean. La méthode doit être définie sur l'interface bean locale ou distance. Les méthodes ne peuvent être utilisées que dans des requêtes dynamiques. Vous ne pouvez pas mélanger dans une même instruction de requête des méthodes locales et distantes.

Si la requête contient des méthodes distantes, la requête dynamique doit être exécutée à l'aide de l'interface de requête éloignée. Lorsque vous utilisez l'interface de requête éloignée, le service de requête active des beans et crée des instances de l'interface de bean éloignée.

De même, une instruction de requête contenant des méthodes bean locales doit être exécutée avec l'interface de requête locale. De sorte, le service de requête active des beans et crée des instances de l'interface locale.

N'utilisez pas de méthodes d'extraction (get) pour accéder aux zones CMP et cmr d'un bean.

Les méthodes dotées d'une surcharge de définitions ne doivent pas avoir le même nombre de paramètres.

Les méthodes doivent avoir le type de retour non Void et les arguments de méthodes et les types de retour doivent être de type primitif byte, short, int, long, float, double, boolean, char ou encapsuleur extraits de la liste ci-dessous :

Byte, Short, Integer, Long, Float, Double, BigDecimal, String, Boolean, Character, java.util.Calendar, java.sql.Date, java.sql.Time, java.sql.Timestamp ou java.util.Date

Si l'un des arguments d'entrée d'une méthode est NULL, il est admis que la méthode renvoie une valeur NULL et que la méthode n'est pas appelée.

Dans la clause FROM, vous pouvez utiliser une expression de chemin d'accès valorisée de collection comme déclaration de membre de collection, et avec les prédicats IS EMPTY, MEMBER OF et EXISTS dans la clause WHERE.

Tableau 1. Syntaxe de la clause FROM. Le tableau ci-après répertorie trois syntaxes valides de la clause From et une syntaxe non valide.
Syntaxe de la clause FROM Instruction de validité
FROM EmpBean e WHERE e.dept.mgr.name='Bob'
OK
FROM EmpBean e WHERE e.dept.emps.name='BOB'
INVALID -- impossible de naviguer dans emps car c'est une zone à plusieurs valeurs
FROM EmpBean e,  IN (e.dept.emps) e1
WHERE e1.name='BOB'
OK
FROM EmpBean e WHERE e.dept.emps IS EMPTY
OK

Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_path
Nom du fichier : cque_path.html