在下面的查询中,WHERE子句包含了一个collection-valued表达式。p是一个标识变量,而teams是一个collection-valued关联字段。
|
表达式类型
一个表达式的类型就是最后的元素所对应的对象的类型,它可以有以下几种:
1、持续化字段
2、Single-valued关联字段
3、Collection-valued关联字段
例如,表达式p.salary的类型是double,这是因为最后的持续化字段(salary)的类型为double。
在表达式p.teams中,最后的元素是一个collection-valued关联字段(teams)。那么这个表达式的值就是一个名为Team的抽象模式类型的集合。因为Team是TeamEJB entity bean的抽象模式命名,所以这个类型映射到bean的local接口LocalTeam。
跨越
路径表达式的存在使得查询可以跨越到相关的entity bean。一个表达式中最后的元素决定了是否可以进行遗址。如果一个表达式包含了一个single-valued关联字段,那么可以继续跨越到与该字段相关的对象。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/