The type of a path expression is the type of the object represented by the ending element, which can be one of the following:
Persistent field
Single-valued relationship field
Collection-valued relationship field
For example, the type of the expression p.salary is double because the terminating persistent field (salary) is a double.
In the expression p.teams, the terminating element is a collection-valued relationship field (teams). This expression’s type is a collection of the abstract schema type named Team. Because Team is the abstract schema name for the Team entity, this type maps to the entity. For more information on the type mapping of abstract schemas, see the section Return Types.