Class JPACollectionFilterQuery


public final class JPACollectionFilterQuery extends JPANavigationQuery
Create a sub query to filter on collection properties e.g. CollectionDeeps?$select=ID&$filter=FirstLevel/SecondLevel/Address/any(s:s/TaskID eq 'DEV') or CollectionDeeps?$filter=FirstLevel/SecondLevel/Comment/$count eq 2. This is done as sub-query instead of a join to have more straightforward way to implement OR or AND conditions
Author:
Oliver Grande
  • Constructor Details

    • JPACollectionFilterQuery

      public JPACollectionFilterQuery(org.apache.olingo.server.api.OData odata, com.sap.olingo.jpa.metadata.core.edm.mapper.api.JPAServiceDocument sd, javax.persistence.EntityManager em, JPAAbstractQuery parent, List<org.apache.olingo.server.api.uri.UriResource> uriResourceParts, org.apache.olingo.server.api.uri.queryoption.expression.VisitableExpression expression, javax.persistence.criteria.From<?,​?> from, List<String> groups) throws org.apache.olingo.server.api.ODataApplicationException
      Throws:
      org.apache.olingo.server.api.ODataApplicationException
    • JPACollectionFilterQuery

      public JPACollectionFilterQuery(org.apache.olingo.server.api.OData odata, com.sap.olingo.jpa.metadata.core.edm.mapper.api.JPAServiceDocument sd, javax.persistence.EntityManager em, JPAAbstractQuery parent, com.sap.olingo.jpa.metadata.core.edm.mapper.api.JPAAssociationPath associationPath, org.apache.olingo.server.api.uri.queryoption.expression.VisitableExpression expression, javax.persistence.criteria.From<?,​?> from, List<String> groups) throws org.apache.olingo.server.api.ODataApplicationException
      Throws:
      org.apache.olingo.server.api.ODataApplicationException
  • Method Details

    • getSubQueryExists

      public <T> javax.persistence.criteria.Subquery<T> getSubQueryExists(javax.persistence.criteria.Subquery<?> childQuery) throws org.apache.olingo.server.api.ODataApplicationException
      Specified by:
      getSubQueryExists in class JPANavigationQuery
      Throws:
      org.apache.olingo.server.api.ODataApplicationException
    • getRoot

      public javax.persistence.criteria.From<?,​?> getRoot()
      Specified by:
      getRoot in class JPAAbstractQuery
    • createRoots

      protected void createRoots(com.sap.olingo.jpa.metadata.core.edm.mapper.api.JPAAssociationPath association) throws ODataJPAQueryException
      Overrides:
      createRoots in class JPANavigationQuery
      Throws:
      ODataJPAQueryException
    • createSubQueryJoinTable

      protected void createSubQueryJoinTable() throws org.apache.olingo.server.api.ODataApplicationException
      Overrides:
      createSubQueryJoinTable in class JPANavigationQuery
      Throws:
      org.apache.olingo.server.api.ODataApplicationException