Interface WebQueryRepository<T>

Type Parameters:
T - entity type backing the repository
All Known Implementing Classes:
WebQueryRepositoryImpl

public interface WebQueryRepository<T>
Repository fragment for executing Specification-based tuple selections.
  • Method Summary

    Modifier and Type
    Method
    Description
    List<jakarta.persistence.Tuple>
    findAll(org.springframework.data.jpa.domain.Specification<T> specification, org.springframework.data.domain.Pageable pageable, SelectionsProvider<T> selectionsProvider)
    Executes a tuple query for the given specification, sort/page request, and selection definition.
    org.springframework.data.domain.Page<jakarta.persistence.Tuple>
    findAllPaged(org.springframework.data.jpa.domain.Specification<T> specification, org.springframework.data.domain.Pageable pageable, SelectionsProvider<T> selectionsProvider)
    Executes a tuple query and wraps the results in a page.
  • Method Details

    • findAll

      List<jakarta.persistence.Tuple> findAll(org.springframework.data.jpa.domain.Specification<T> specification, org.springframework.data.domain.Pageable pageable, SelectionsProvider<T> selectionsProvider)
      Executes a tuple query for the given specification, sort/page request, and selection definition.

      The selection callback receives the live result CriteriaQuery so it can build correlated subqueries or inspect query state while defining projected columns.

      Parameters:
      specification - filtering criteria to apply
      pageable - paging and sorting information; sorting is always applied and limits are applied when paged
      selectionsProvider - callback that defines the tuple selections for the query
      Returns:
      tuples matching the requested filter, sort, and selection set
    • findAllPaged

      org.springframework.data.domain.Page<jakarta.persistence.Tuple> findAllPaged(org.springframework.data.jpa.domain.Specification<T> specification, org.springframework.data.domain.Pageable pageable, SelectionsProvider<T> selectionsProvider)
      Executes a tuple query and wraps the results in a page.

      When pageable is unpaged, the returned page contains all matching tuples without issuing a separate count query.

      The selection callback receives the live result CriteriaQuery. For paged execution, avoid mutating the outer query in ways that change row cardinality, such as enabling distinct results or adding grouping, because the total count is derived from a separate count query built from the Specification.

      Parameters:
      specification - filtering criteria to apply
      pageable - paging and sorting information; sorting is always applied and limits are applied when paged
      selectionsProvider - callback that defines the tuple selections for the query
      Returns:
      a page of tuples matching the requested filter, sort, and selection set