ReactivePanacheQuery

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.

Parameters

Entity

The entity type being queried

Inheritors

Functions

Link copied to clipboard
abstract fun count(): Uni<Long>

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.

Link copied to clipboard

Sets the current page to the first page

Link copied to clipboard
abstract fun firstResult(): Uni<Entity?>

Returns the first result of the current page index. This ignores the current page size to fetch a single result.

Link copied to clipboard
abstract fun hasNextPage(): Uni<Boolean>

Returns true if there is another page to read after the current one. This will cause reading of the entity count.

Link copied to clipboard
abstract fun hasPreviousPage(): Boolean

Returns true if there is a page to read before the current one.

Link copied to clipboard
abstract fun lastPage(): Uni<ReactivePanacheQuery<Entity>>

Sets the current page to the last page. This will cause reading of the entity count.

Link copied to clipboard
abstract fun list(): Uni<List<Entity>>

Returns the current page of results as a List.

Link copied to clipboard

Sets the current page to the next page

Link copied to clipboard
abstract fun page(): Page

Returns the current page.

abstract fun page(page: Page): ReactivePanacheQuery<Entity>
abstract fun page(pageIndex: Int, pageSize: Int): ReactivePanacheQuery<Entity>

Sets the current page.

Link copied to clipboard
abstract fun pageCount(): Uni<Int>

Returns the total number of pages to be read using the current page size. This will cause reading of the entity count.

Link copied to clipboard

Sets the current page to the previous page (or the first page if there is no previous page)

Link copied to clipboard

Defines a projection class: the getters, and the public fields, will be used to restrict which fields should be retrieved from the database.

Link copied to clipboard
abstract fun range(startIndex: Int, lastIndex: Int): ReactivePanacheQuery<Entity>

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.

Link copied to clipboard
abstract fun singleResult(): Uni<Entity?>

Executes this query for the current page and return a single result.

Link copied to clipboard
abstract fun stream(): Multi<Entity>

Returns the current page of results as a Stream.

Link copied to clipboard
abstract fun withBatchSize(batchSize: Int): ReactivePanacheQuery<Entity>

Define the batch size for this query.

Link copied to clipboard
abstract fun withCollation(collation: Collation): ReactivePanacheQuery<Entity>

Define the collation used for this query.

Link copied to clipboard
abstract fun withReadPreference(readPreference: ReadPreference): ReactivePanacheQuery<Entity>

Define the read preference used for this query.