public class SubqueryEntityResolver extends Resolver
Resolver
retrieves the type for an abstract schema name (entity name) if it can
be resolved otherwise a derived path will be assumed. This Resolver
is used within a
subquery and it handles the following two cases.
The "root" object in the subquery is an unqualified derived path:
UPDATE Employee SET name = 'JPQL'
WHERE (SELECT a FROM addr a)
and
The "root" object in the subquery is an entity:
UPDATE Employee SET name = 'JPQL'
WHERE (SELECT a FROM Address a)
Constructor and Description |
---|
SubqueryEntityResolver(Resolver parent,
JPQLQueryContext queryContext,
AbstractSchemaName abstractSchemaName)
Creates a new
DerivedPathResolver . |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getAbstractSchemaName()
Returns the name of the entity to resolve.
|
IManagedType |
getManagedType()
Returns the
IManagedType associated with the field handled by this Resolver . |
IMapping |
getMapping()
Returns the
IMapping for the wrapped field. |
java.lang.String |
toString() |
addChild, getChild, getParent, getParentManagedType, getParentMapping, getParentType, getParentTypeDeclaration, getProvider, getQuery, getType, getType, getType, getTypeDeclaration, getTypeHelper, getTypeRepository, isNullAllowed, setNullAllowed
public SubqueryEntityResolver(Resolver parent, JPQLQueryContext queryContext, AbstractSchemaName abstractSchemaName)
DerivedPathResolver
.parent
- The parent Resolver
, which is never null
queryContext
- The JPQLQueryContext
for the subqueryabstractSchemaName
- The AbstractSchemaName
holding onto the the name of the entitypublic java.lang.String getAbstractSchemaName()
null
public IManagedType getManagedType()
IManagedType
associated with the field handled by this Resolver
.
If this Resolver
does not handle a field that has a IManagedType
, then
null
should be returned.
For example: "SELECT e FROM Employee e
", the Resolver
for
e would be returning the IManagedType
for Employee.
getManagedType
in class Resolver
IManagedType
, if it could be resolved; null
otherwisepublic IMapping getMapping()
IMapping
for the wrapped field.getMapping
in class Resolver
IMapping
or null
if none existspublic java.lang.String toString()
toString
in class java.lang.Object
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference