-
- All Implemented Interfaces:
public interface PanacheQuery<Entity extends Object>Interface representing an entity query, which abstracts the use of paging, getting the number of results, and operating on List or Stream.
Instances of this interface cannot mutate the query itself or its parameters: only paging information can be modified, and instances of this interface can be reused to obtain multiple pages of results.
-
-
Method Summary
Modifier and Type Method Description abstract <NewEntity extends Any> PanacheQuery<NewEntity>project(Class<NewEntity> type)Defines a projection class: the getters, and the public fields, will be used to restrict which fields should be retrieved from the database. abstract PanacheQuery<Entity>page(Page page)Sets the current page. abstract PanacheQuery<Entity>page(Integer pageIndex, Integer pageSize)Sets the current page. abstract Pagepage()Returns the current page. abstract PanacheQuery<Entity>nextPage()Sets the current page to the next page abstract PanacheQuery<Entity>previousPage()Sets the current page to the previous page (or the first page if there is no previous page) abstract PanacheQuery<Entity>firstPage()Sets the current page to the first page abstract PanacheQuery<Entity>lastPage()Sets the current page to the last page. abstract BooleanhasNextPage()Returns true if there is another page to read after the current one. abstract BooleanhasPreviousPage()Returns true if there is a page to read before the current one. abstract IntegerpageCount()Returns the total number of pages to be read using the current page size. abstract PanacheQuery<Entity>range(Integer startIndex, Integer lastIndex)Switch the query to use a fixed range (start index - last index) instead of a page. abstract PanacheQuery<Entity>withCollation(Collation collation)Define the collation used for this query. abstract PanacheQuery<Entity>withReadPreference(ReadPreference readPreference)Define the read preference used for this query. abstract Longcount()Reads and caches the total number of entities this query operates on. abstract List<Entity>list()Returns the current page of results as a List. abstract Stream<Entity>stream()Returns the current page of results as a Stream. abstract EntityfirstResult()Returns the first result of the current page index. abstract EntitysingleResult()Executes this query for the current page and return a single result. -
-
Method Detail
-
project
abstract <NewEntity extends Any> PanacheQuery<NewEntity> project(Class<NewEntity> type)
Defines a projection class: the getters, and the public fields, will be used to restrict which fields should be retrieved from the database.
-
page
abstract PanacheQuery<Entity> page(Page page)
Sets the current page.
- Parameters:
page- the new page
-
page
abstract PanacheQuery<Entity> page(Integer pageIndex, Integer pageSize)
Sets the current page.
- Parameters:
pageIndex- the page indexpageSize- the page size
-
page
abstract Page page()
Returns the current page.
-
nextPage
abstract PanacheQuery<Entity> nextPage()
Sets the current page to the next page
-
previousPage
abstract PanacheQuery<Entity> previousPage()
Sets the current page to the previous page (or the first page if there is no previous page)
-
firstPage
abstract PanacheQuery<Entity> firstPage()
Sets the current page to the first page
-
lastPage
abstract PanacheQuery<Entity> lastPage()
Sets the current page to the last page. This will cause reading of the entity count.
-
hasNextPage
abstract Boolean hasNextPage()
Returns true if there is another page to read after the current one. This will cause reading of the entity count.
-
hasPreviousPage
abstract Boolean hasPreviousPage()
Returns true if there is a page to read before the current one.
-
pageCount
abstract Integer pageCount()
Returns the total number of pages to be read using the current page size. This will cause reading of the entity count.
-
range
abstract PanacheQuery<Entity> range(Integer startIndex, Integer lastIndex)
Switch the query to use a fixed range (start index - last index) instead of a page. As the range is fixed, subsequent pagination of the query is not possible.
- Parameters:
startIndex- the index of the first element, starting at 0lastIndex- the index of the last element
-
withCollation
abstract PanacheQuery<Entity> withCollation(Collation collation)
Define the collation used for this query.
- Parameters:
collation- the collation to be used for this query.
-
withReadPreference
abstract PanacheQuery<Entity> withReadPreference(ReadPreference readPreference)
Define the read preference used for this query.
- Parameters:
readPreference- the read preference to be used for this query.
-
count
abstract Long count()
Reads and caches the total number of entities this query operates on. This causes a database query with
SELECT COUNT(*)and a query equivalent to the current query, minus ordering.
-
firstResult
abstract Entity firstResult()
Returns the first result of the current page index. This ignores the current page size to fetch a single result.
-
singleResult
abstract Entity singleResult()
Executes this query for the current page and return a single result.
-
-
-
-