Prédicat IS OF TYPE
Le prédicat IS OF TYPE permet de déterminer le type d'une référence EJB (Enterprise JavaBeans). Il est similaire à l'instance Java d'opérateur.
IS OF TYPE est employé lorsque plusieurs beans abstraits ont été
regroupés au sein d'une hiérarchie d'héritage EJB. Les noms de type indiqués dans le prédicat sont les noms abstraits de
bean. Vous pouvez utiliser l'option ONLY pour indiquer que la référence doit être exactement de ce type et non d'un
sous-type.
variable-identification IS OF TYPE ( [ONLY] type-1, [ONLY] type-2, ..... )
Exemple : Prédicat IS OF TYPE
Supposez que le bean ManagerBean est défini comme sous-type de EmpBean et que ExecutiveBean est un sous-type de ManagerBean dans une hiérarchie d'héritage EJB.
La requête suivante
renvoie les employés ainsi que les responsables et les superviseurs :
SELECT OBJECT(e) FROM EmpBean e
Si les objets qui vous intéressent sont les employés, pas les responsables ni les superviseurs :
SELECT OBJECT(e)
FROM EmpBean e WHERE e IS OF TYPE( ONLY EmpBean )
Si les objets qui vous intéressent sont les responsables et les superviseurs :
SELECT OBJECT(e) FROM EmpBean e
WHERE e IS OF TYPE( ManagerBean)
La requête précédente équivaut à la suivante :SELECT OBJECT(e) FROM
ManagerBean e
Si les objets qui vous intéressent sont les responsables uniquement et pas les superviseurs :
SELECT OBJECT(e)
FROM EmpBean e WHERE e IS OF TYPE( ONLY ManagerBean)
ou :SELECT OBJECT(e) FROM
ManagerBean e
WHERE e IS OF TYPE (ONLY ManagerBean)