Interface JPAProjectionRepository<E>

All Known Implementing Classes:
JPAProjectionRepositoryImpl

public interface JPAProjectionRepository<E>
  • Method Details

    • projection

      List<Map<String,Object>> projection(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass)
      Mode 1: Projected search by filters without sorting and pagination
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projection

      List<Map<String,Object>> projection(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass)
      Mode 2: Projected search by filters without sorting and pagination
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projection

      List<Map<String,Object>> projection(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches)
      Mode 1: Projected search by filters without sorting and pagination and with forced fetched Join
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projection

      List<Map<String,Object>> projection(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches)
      Mode 2: Projected search by filters without sorting and pagination and with forced fetched Join
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projection

      List<Map<String,Object>> projection(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,String> entityFieldMap)
      Mode 1: Projected search by filters without sorting and pagination, with forced fetched Join and with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      entityFieldMap -
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projection

      List<Map<String,Object>> projection(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,String> entityFieldMap)
      Mode 2: Projected search by filters without sorting and pagination, with forced fetched Join and with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      entityFieldMap -
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSorting

      List<Map<String,Object>> projectionWithSorting(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass)
      Mode 1: Projected search by filters with sorting and without pagination
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSorting

      List<Map<String,Object>> projectionWithSorting(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass)
      Mode 2: Projected search by filters with sorting and without pagination
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSorting

      List<Map<String,Object>> projectionWithSorting(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,String> entityFieldMap)
      Mode 1: Projected search by filters with sorting and without pagination, with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      entityFieldMap -
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSorting

      List<Map<String,Object>> projectionWithSorting(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,String> entityFieldMap)
      Mode 2: Projected search by filters with sorting and without pagination, with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      entityFieldMap -
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSorting

      List<Map<String,Object>> projectionWithSorting(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,String> entityFieldMap)
      Mode 1: Projected search by filters with sorting, without pagination, with forced fetched Join and with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      entityFieldMap -
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSorting

      List<Map<String,Object>> projectionWithSorting(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,String> entityFieldMap)
      Mode 2: Projected search by filters with sorting, without pagination, with forced fetched Join and with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      entityFieldMap -
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionClassic

      List<Map<String,Object>> projectionClassic(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 1: Projected search by filters without sorting and pagination
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionClassic

      List<Map<String,Object>> projectionClassic(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 2: Projected search by filters without sorting and pagination
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionClassic

      List<Map<String,Object>> projectionClassic(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 1: Projected search by filters without sorting and pagination and with forced fetched Join
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionClassic

      List<Map<String,Object>> projectionClassic(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 2: Projected search by filters without sorting and pagination and with forced fetched Join
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionClassic

      List<Map<String,Object>> projectionClassic(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,String> entityFieldMap, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 1: Projected search by filters without sorting and pagination, with forced fetched Join and with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      entityFieldMap -
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionClassic

      List<Map<String,Object>> projectionClassic(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,String> entityFieldMap, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 2: Projected search by filters without sorting and pagination, with forced fetched Join and with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity typetoObject
      fetches - fetches joins
      entityFieldMap -
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSortingClassic

      List<Map<String,Object>> projectionWithSortingClassic(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 1: Projected search by filters with sorting and without pagination
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSortingClassic

      List<Map<String,Object>> projectionWithSortingClassic(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 2: Projected search by filters with sorting and without pagination
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSortingClassic

      List<Map<String,Object>> projectionWithSortingClassic(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 1: Projected search by filters with sorting, without pagination and with forced fetched Join
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSortingClassic

      List<Map<String,Object>> projectionWithSortingClassic(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 2: Projected search by filters with sorting, without pagination and with forced fetched Join
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSortingClassic

      List<Map<String,Object>> projectionWithSortingClassic(@NonNull @NonNull Map<String,String> filters, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,String> entityFieldMap, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 1: Projected search by filters with sorting, without pagination, with forced fetched Join and with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      filters - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      entityFieldMap -
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields
    • projectionWithSortingClassic

      List<Map<String,Object>> projectionWithSortingClassic(@NonNull @NonNull JPASearchInput input, @NonNull @NonNull Class<?> domainModelOrEntityType, @NonNull @NonNull Class<E> entityClass, Map<String,jakarta.persistence.criteria.JoinType> fetches, Map<String,String> entityFieldMap, Map<String,jakarta.persistence.criteria.JoinType> overrideJoinTypes)
      Mode 2: Projected search by filters with sorting, without pagination, with forced fetched Join and with a map of:
      • key: domain object field name
      • value: entity field name
      Parameters:
      input - search filters
      domainModelOrEntityType - the type of the domain object or entity: i.e. the root object where you applied the Projectable and NestedProjectable annotations
      entityClass - entity type
      fetches - fetches joins
      entityFieldMap -
      overrideJoinTypes - the only relationships for which you want to change the Join type
      Returns:
      list of results in map format whose keys correspond to the values of the entity fields