From b9c769efc879d93ef4f96afbe22e3a2d2fa9a31e Mon Sep 17 00:00:00 2001 From: Gavin King Date: Wed, 23 Apr 2025 11:16:29 +0200 Subject: [PATCH] [#2212] add getCriteriaBuilder() convenience method to session types since JPA has this, and a uniform API makes things easier for Hibernate Processor --- .../org/hibernate/reactive/mutiny/Mutiny.java | 18 ++++++++++++++++++ .../org/hibernate/reactive/stage/Stage.java | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/mutiny/Mutiny.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/mutiny/Mutiny.java index 59edbb875..0f231ff63 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/mutiny/Mutiny.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/mutiny/Mutiny.java @@ -1525,6 +1525,15 @@ default Session setCacheRetrieveMode(CacheRetrieveMode cacheRetrieveMode) { * The {@link SessionFactory} which created this session. */ SessionFactory getFactory(); + + /** + * Convenience method to obtain the {@link CriteriaBuilder}. + * + * @since 3 + */ + default CriteriaBuilder getCriteriaBuilder() { + return getFactory().getCriteriaBuilder(); + } } /** @@ -2104,6 +2113,15 @@ default Uni refresh(Object entity, LockModeType lockModeType) { * The {@link SessionFactory} which created this session. */ SessionFactory getFactory(); + + /** + * Convenience method to obtain the {@link CriteriaBuilder}. + * + * @since 3 + */ + default CriteriaBuilder getCriteriaBuilder() { + return getFactory().getCriteriaBuilder(); + } } /** diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/stage/Stage.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/stage/Stage.java index b490f2fb3..601b17c11 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/stage/Stage.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/stage/Stage.java @@ -1557,6 +1557,14 @@ default Session setCacheRetrieveMode(CacheRetrieveMode cacheRetrieveMode) { * The {@link SessionFactory} which created this session. */ SessionFactory getFactory(); + /** + * Convenience method to obtain the {@link CriteriaBuilder}. + * + * @since 3 + */ + default CriteriaBuilder getCriteriaBuilder() { + return getFactory().getCriteriaBuilder(); + } } /** @@ -2155,6 +2163,15 @@ default CompletionStage refresh(Object entity, LockModeType lockModeType) * The {@link SessionFactory} which created this session. */ SessionFactory getFactory(); + + /** + * Convenience method to obtain the {@link CriteriaBuilder}. + * + * @since 3 + */ + default CriteriaBuilder getCriteriaBuilder() { + return getFactory().getCriteriaBuilder(); + } } /**