IS OF TYPE 谓词
IS OF TYPE 谓词用于测试 Enterprise JavaBeans (EJB) 引用的类型。它在功能方面与 Java 运算符实例类似。
当已将几个抽象 Bean 分组到 EJB 继承层次结构时,使用 IS OF TYPE。谓词中指定的类型名称是 Bean 抽象名称。可以使用 ONLY 选项来指定引用必须完全是此类型且非子类型。
identification-variable IS OF TYPE ( [ONLY] type-1, [ONLY] type-2, ..... )
示例:IS OF TYPE 谓词
假设在 EJB 继承层次结构中,Bean ManagerBean 定义为 EmpBean 的子类型,ExecutiveBean 是 ManagerBean 的子类型。
以下查询返回职员以及经理和主管人员:
SELECT OBJECT(e) FROM EmpBean e
如果您对作为职员但不是经理和主管人员的对象感兴趣:
SELECT OBJECT(e) FROM EmpBean e WHERE e IS OF TYPE( ONLY EmpBean )
如果您对作为经理或主管人员的对象感兴趣:
SELECT OBJECT(e) FROM EmpBean e WHERE e IS OF TYPE( ManagerBean)
以上查询等价于以下查询:SELECT OBJECT(e) FROM ManagerBean e
如果您对仅经理且非主管人员感兴趣:
SELECT OBJECT(e) FROM EmpBean e WHERE e IS OF TYPE( ONLY ManagerBean)
或:SELECT OBJECT(e) FROM ManagerBean e
WHERE e IS OF TYPE (ONLY ManagerBean)