Predicado IS OF TYPE
El predicado IS OF TYPE se utiliza para comprobar el tipo de una referencia de EJB (Enterprise JavaBeans). Su función es similar a la instancia Java del operador.
IS OF TYPE se utiliza cuando se agrupan varios beans abstractos en una jerarquía de
herencia de EJB. Los nombres de tipos especificados en el predicado son los nombres abstractos de beans. Se puede utilizar la opción ONLY para especificar que la referencia debe ser
exactamente este tipo y no un subtipo.
identification-variable IS OF TYPE ( [ONLY] type-1, [ONLY] type-2, ..... )
Ejemplo: predicado IS OF TYPE
Suponga que el bean ManagerBean se define como un subtipo de EmpBean y que ExecutiveBean es un subtipo de ManagerBean en una jerarquía de herencia EJB.
La consulta siguiente devuelve los empleados al igual que los
jefes y los ejecutivos:
SELECT OBJECT(e) FROM EmpBean e
Si le
interesan objetos que sean empleados y que no sean ni jefes ni ejecutivos:
SELECT OBJECT(e) FROM EmpBean e WHERE e IS OF TYPE( ONLY EmpBean )
Si le interesa un objeto que sean jefes o ejecutivos:
SELECT OBJECT(e) FROM EmpBean e WHERE e IS OF TYPE( ManagerBean)
La consulta anterior es equivalente a la consulta siguiente:SELECT OBJECT(e) FROM ManagerBean e
Si le interesa solamente los jefes y no los ejecutivos:
SELECT OBJECT(e) FROM EmpBean e WHERE e IS OF TYPE( ONLY ManagerBean)
o:SELECT OBJECT(e) FROM ManagerBean e
WHERE e IS OF TYPE (ONLY ManagerBean)