|
5 | 5 | */
|
6 | 6 | package org.hibernate.reactive.stage;
|
7 | 7 |
|
8 |
| -import jakarta.persistence.CacheRetrieveMode; |
9 |
| -import jakarta.persistence.CacheStoreMode; |
10 |
| -import jakarta.persistence.EntityGraph; |
11 |
| -import jakarta.persistence.FlushModeType; |
12 |
| -import jakarta.persistence.LockModeType; |
13 |
| -import jakarta.persistence.Parameter; |
14 |
| -import jakarta.persistence.criteria.CriteriaBuilder; |
15 |
| -import jakarta.persistence.criteria.CriteriaDelete; |
16 |
| -import jakarta.persistence.criteria.CriteriaQuery; |
17 |
| -import jakarta.persistence.criteria.CriteriaUpdate; |
18 |
| -import jakarta.persistence.metamodel.Attribute; |
19 |
| -import jakarta.persistence.metamodel.Metamodel; |
| 8 | +import java.lang.invoke.MethodHandles; |
| 9 | +import java.util.List; |
| 10 | +import java.util.concurrent.CompletionStage; |
| 11 | +import java.util.function.BiFunction; |
| 12 | +import java.util.function.Function; |
| 13 | + |
20 | 14 | import org.hibernate.Cache;
|
21 |
| -import org.hibernate.*; |
| 15 | +import org.hibernate.CacheMode; |
| 16 | +import org.hibernate.Filter; |
| 17 | +import org.hibernate.FlushMode; |
| 18 | +import org.hibernate.Incubating; |
| 19 | +import org.hibernate.LockMode; |
22 | 20 | import org.hibernate.bytecode.enhance.spi.interceptor.EnhancementAsProxyLazinessInterceptor;
|
23 | 21 | import org.hibernate.collection.spi.AbstractPersistentCollection;
|
24 | 22 | import org.hibernate.collection.spi.PersistentCollection;
|
|
38 | 36 | import org.hibernate.reactive.util.impl.CompletionStages;
|
39 | 37 | import org.hibernate.stat.Statistics;
|
40 | 38 |
|
41 |
| -import java.lang.invoke.MethodHandles; |
42 |
| -import java.util.List; |
43 |
| -import java.util.concurrent.CompletionStage; |
44 |
| -import java.util.function.BiFunction; |
45 |
| -import java.util.function.Function; |
| 39 | +import jakarta.persistence.CacheRetrieveMode; |
| 40 | +import jakarta.persistence.CacheStoreMode; |
| 41 | +import jakarta.persistence.EntityGraph; |
| 42 | +import jakarta.persistence.FlushModeType; |
| 43 | +import jakarta.persistence.LockModeType; |
| 44 | +import jakarta.persistence.Parameter; |
| 45 | +import jakarta.persistence.criteria.CriteriaBuilder; |
| 46 | +import jakarta.persistence.criteria.CriteriaDelete; |
| 47 | +import jakarta.persistence.criteria.CriteriaQuery; |
| 48 | +import jakarta.persistence.criteria.CriteriaUpdate; |
| 49 | +import jakarta.persistence.metamodel.Attribute; |
| 50 | +import jakarta.persistence.metamodel.Metamodel; |
46 | 51 |
|
47 | 52 | import static org.hibernate.engine.internal.ManagedTypeHelper.asPersistentAttributeInterceptable;
|
48 | 53 | import static org.hibernate.engine.internal.ManagedTypeHelper.isPersistentAttributeInterceptable;
|
49 | 54 | import static org.hibernate.internal.util.LockModeConverter.convertToLockMode;
|
50 |
| -import static org.hibernate.jpa.internal.util.CacheModeHelper.*; |
| 55 | +import static org.hibernate.jpa.internal.util.CacheModeHelper.interpretCacheMode; |
| 56 | +import static org.hibernate.jpa.internal.util.CacheModeHelper.interpretCacheRetrieveMode; |
| 57 | +import static org.hibernate.jpa.internal.util.CacheModeHelper.interpretCacheStoreMode; |
51 | 58 |
|
52 | 59 | /**
|
53 | 60 | * An API for Hibernate Reactive where non-blocking operations are
|
@@ -188,6 +195,17 @@ interface SelectionQuery<R> extends AbstractQuery {
|
188 | 195 | */
|
189 | 196 | CompletionStage<R> getSingleResultOrNull();
|
190 | 197 |
|
| 198 | + /** |
| 199 | + * Determine the size of the query result list that would be |
| 200 | + * returned by calling {@link #getResultList()} with no |
| 201 | + * {@linkplain #getFirstResult() offset} or |
| 202 | + * {@linkplain #getMaxResults() limit} applied to the query. |
| 203 | + * |
| 204 | + * @return the size of the list that would be returned |
| 205 | + */ |
| 206 | + @Incubating |
| 207 | + CompletionStage<Long> getResultCount(); |
| 208 | + |
191 | 209 | /**
|
192 | 210 | * Asynchronously execute this query, returning the query results
|
193 | 211 | * as a {@link List}, via a {@link CompletionStage}. If the query
|
|
0 commit comments