55 */
66package org .hibernate .reactive .mutiny .impl ;
77
8- import io .smallrye .mutiny .Uni ;
9- import jakarta .persistence .EntityGraph ;
10- import jakarta .persistence .criteria .CriteriaDelete ;
11- import jakarta .persistence .criteria .CriteriaQuery ;
12- import jakarta .persistence .criteria .CriteriaUpdate ;
8+ import java .util .List ;
9+ import java .util .concurrent .CompletableFuture ;
10+ import java .util .concurrent .CompletionStage ;
11+ import java .util .function .Function ;
12+ import java .util .function .Supplier ;
13+
14+ import org .hibernate .Filter ;
1315import org .hibernate .LockMode ;
1416import org .hibernate .graph .spi .RootGraphImplementor ;
17+ import org .hibernate .query .criteria .JpaCriteriaInsert ;
18+ import org .hibernate .reactive .common .AffectedEntities ;
1519import org .hibernate .reactive .common .ResultSetMapping ;
1620import org .hibernate .reactive .mutiny .Mutiny ;
17- import org .hibernate .reactive .mutiny .Mutiny .Query ;
18- import org .hibernate .reactive .mutiny .Mutiny .SelectionQuery ;
1921import org .hibernate .reactive .pool .ReactiveConnection ;
2022import org .hibernate .reactive .session .ReactiveStatelessSession ;
2123
22- import java .util .List ;
23- import java .util .concurrent .CompletableFuture ;
24- import java .util .concurrent .CompletionStage ;
25- import java .util .function .Function ;
26- import java .util .function .Supplier ;
24+ import io .smallrye .mutiny .Uni ;
25+ import jakarta .persistence .EntityGraph ;
26+ import jakarta .persistence .criteria .CriteriaDelete ;
27+ import jakarta .persistence .criteria .CriteriaQuery ;
28+ import jakarta .persistence .criteria .CriteriaUpdate ;
29+ import jakarta .persistence .metamodel .Attribute ;
2730
2831
2932/**
@@ -45,7 +48,6 @@ public ReactiveConnection getReactiveConnection() {
4548 return delegate .getReactiveConnection ();
4649 }
4750
48-
4951 <T > Uni <T > uni (Supplier <CompletionStage <T >> stageSupplier ) {
5052 return factory .uni ( stageSupplier );
5153 }
@@ -71,66 +73,6 @@ public <T> Uni<T> get(EntityGraph<T> entityGraph, Object id) {
7173 return uni ( () -> delegate .reactiveGet ( entityClass , id , null , entityGraph ) );
7274 }
7375
74- @ Override
75- public <R > Query <R > createQuery (String queryString ) {
76- return new MutinyQueryImpl <>( delegate .createReactiveQuery ( queryString ), factory );
77- }
78-
79- @ Override @ Deprecated
80- public <R > SelectionQuery <R > createQuery (String queryString , Class <R > resultType ) {
81- return new MutinySelectionQueryImpl <>( delegate .createReactiveQuery ( queryString , resultType ), factory );
82- }
83-
84- @ Override
85- public <R > SelectionQuery <R > createSelectionQuery (String queryString , Class <R > resultType ) {
86- return new MutinySelectionQueryImpl <>( delegate .createReactiveSelectionQuery ( queryString , resultType ), factory );
87- }
88-
89- @ Override
90- public Mutiny .MutationQuery createMutationQuery (String queryString ) {
91- return new MutinyMutationQueryImpl <>( delegate .createReactiveMutationQuery ( queryString ), factory );
92- }
93-
94- @ Override
95- public <R > Query <R > createNamedQuery (String queryName ) {
96- return new MutinyQueryImpl <>( delegate .createReactiveNamedQuery ( queryName , null ), factory );
97- }
98-
99- @ Override
100- public <R > SelectionQuery <R > createNamedQuery (String queryName , Class <R > resultType ) {
101- return new MutinySelectionQueryImpl <>( delegate .createReactiveNamedQuery ( queryName , resultType ), factory );
102- }
103-
104- @ Override
105- public <R > Query <R > createNativeQuery (String queryString ) {
106- return new MutinyQueryImpl <>( delegate .createReactiveNativeQuery ( queryString ), factory );
107- }
108-
109- @ Override
110- public <R > SelectionQuery <R > createNativeQuery (String queryString , Class <R > resultType ) {
111- return new MutinySelectionQueryImpl <>( delegate .createReactiveNativeQuery ( queryString , resultType ), factory );
112- }
113-
114- @ Override
115- public <R > SelectionQuery <R > createNativeQuery (String queryString , ResultSetMapping <R > resultSetMapping ) {
116- return new MutinySelectionQueryImpl <>( delegate .createReactiveNativeQuery ( queryString , resultSetMapping ), factory );
117- }
118-
119- @ Override
120- public <R > SelectionQuery <R > createQuery (CriteriaQuery <R > criteriaQuery ) {
121- return new MutinySelectionQueryImpl <>( delegate .createReactiveQuery ( criteriaQuery ), factory );
122- }
123-
124- @ Override
125- public <R > Mutiny .MutationQuery createQuery (CriteriaUpdate <R > criteriaUpdate ) {
126- return new MutinyMutationQueryImpl <>( delegate .createReactiveMutationQuery ( criteriaUpdate ), factory );
127- }
128-
129- @ Override
130- public <R > Mutiny .MutationQuery createQuery (CriteriaDelete <R > criteriaDelete ) {
131- return new MutinyMutationQueryImpl <>( delegate .createReactiveMutationQuery ( criteriaDelete ), factory );
132- }
133-
13476 @ Override
13577 public Uni <Void > insert (Object entity ) {
13678 return uni ( () -> delegate .reactiveInsert ( entity ) );
@@ -226,36 +168,117 @@ public Uni<Void> refresh(Object entity, LockMode lockMode) {
226168 return uni ( () -> delegate .reactiveRefresh ( entity , lockMode ) );
227169 }
228170
171+ @ Override
172+ public <R > Mutiny .SelectionQuery <R > createSelectionQuery (String queryString , Class <R > resultType ) {
173+ return new MutinySelectionQueryImpl <>( delegate .createReactiveSelectionQuery ( queryString , resultType ), factory );
174+ }
175+
176+ @ Override
177+ public Mutiny .MutationQuery createMutationQuery (String queryString ) {
178+ return new MutinyMutationQueryImpl <>( delegate .createReactiveQuery ( queryString ), factory );
179+ }
180+
181+ @ Override
182+ public Mutiny .MutationQuery createMutationQuery (CriteriaUpdate <?> updateQuery ) {
183+ return new MutinyMutationQueryImpl <>( delegate .createReactiveMutationQuery ( updateQuery ), factory );
184+ }
185+
186+ @ Override
187+ public Mutiny .MutationQuery createMutationQuery (CriteriaDelete <?> deleteQuery ) {
188+ return new MutinyMutationQueryImpl <>( delegate .createReactiveMutationQuery ( deleteQuery ), factory );
189+ }
190+
191+ @ Override
192+ public Mutiny .MutationQuery createMutationQuery (JpaCriteriaInsert <?> insert ) {
193+ return new MutinyMutationQueryImpl <>( delegate .createReactiveMutationQuery ( insert ), factory );
194+ }
195+
196+ @ Override @ Deprecated
197+ public <R > Mutiny .Query <R > createQuery (String queryString ) {
198+ return new MutinyQueryImpl <>( delegate .createReactiveQuery ( queryString ), factory );
199+ }
200+
201+ @ Override
202+ public <R > Mutiny .SelectionQuery <R > createQuery (String queryString , Class <R > resultType ) {
203+ return new MutinySelectionQueryImpl <>( delegate .createReactiveQuery ( queryString , resultType ), factory );
204+ }
205+
206+ @ Override
207+ public <R > Mutiny .SelectionQuery <R > createQuery (CriteriaQuery <R > criteriaQuery ) {
208+ return new MutinySelectionQueryImpl <>( delegate .createReactiveQuery ( criteriaQuery ), factory );
209+ }
210+
211+ @ Override
212+ public <R > Mutiny .MutationQuery createQuery (CriteriaUpdate <R > criteriaUpdate ) {
213+ return new MutinyMutationQueryImpl <>(
214+ delegate .createReactiveMutationQuery ( criteriaUpdate ),
215+ factory
216+ );
217+ }
218+
219+ @ Override
220+ public <R > Mutiny .MutationQuery createQuery (CriteriaDelete <R > criteriaDelete ) {
221+ return new MutinyMutationQueryImpl <>(
222+ delegate .createReactiveMutationQuery ( criteriaDelete ),
223+ factory
224+ );
225+ }
226+
227+ @ Override
228+ public <R > Mutiny .Query <R > createNamedQuery (String queryName ) {
229+ return new MutinyQueryImpl <>( delegate .createReactiveNamedQuery ( queryName , null ), factory );
230+ }
231+
232+ @ Override
233+ public <R > Mutiny .SelectionQuery <R > createNamedQuery (String queryName , Class <R > resultType ) {
234+ return new MutinySelectionQueryImpl <>( delegate .createReactiveNamedQuery ( queryName , resultType ), factory );
235+ }
236+
237+ @ Override
238+ public <R > Mutiny .Query <R > createNativeQuery (String queryString ) {
239+ return new MutinyQueryImpl <>( delegate .createReactiveNativeQuery ( queryString ), factory );
240+ }
241+
242+ @ Override
243+ public <R > Mutiny .Query <R > createNativeQuery (String queryString , AffectedEntities affectedEntities ) {
244+ return new MutinyQueryImpl <>( delegate .createReactiveNativeQuery ( queryString , affectedEntities ), factory );
245+ }
246+
247+ @ Override
248+ public <R > Mutiny .SelectionQuery <R > createNativeQuery (String queryString , Class <R > resultType ) {
249+ return new MutinySelectionQueryImpl <>( delegate .createReactiveNativeQuery ( queryString , resultType ), factory );
250+ }
251+
252+ @ Override
253+ public <R > Mutiny .SelectionQuery <R > createNativeQuery (String queryString , Class <R > resultType , AffectedEntities affectedEntities ) {
254+ return new MutinySelectionQueryImpl <>( delegate .createReactiveNativeQuery ( queryString , resultType , affectedEntities ), factory );
255+ }
256+
257+ @ Override
258+ public <R > Mutiny .SelectionQuery <R > createNativeQuery (String queryString , ResultSetMapping <R > resultSetMapping ) {
259+ return new MutinySelectionQueryImpl <>( delegate .createReactiveNativeQuery ( queryString , resultSetMapping ), factory );
260+ }
261+
262+ @ Override
263+ public <R > Mutiny .SelectionQuery <R > createNativeQuery (String queryString , ResultSetMapping <R > resultSetMapping , AffectedEntities affectedEntities ) {
264+ return new MutinySelectionQueryImpl <>( delegate .createReactiveNativeQuery ( queryString , resultSetMapping , affectedEntities ), factory );
265+ }
266+
229267 @ Override
230268 public <T > Uni <T > fetch (T association ) {
231269 return uni ( () -> delegate .reactiveFetch ( association , false ) );
232270 }
233271
272+ @ Override
273+ public <E , T > Uni <T > fetch (E entity , Attribute <E , T > field ) {
274+ return uni ( () -> delegate .reactiveFetch ( entity , field ) );
275+ }
276+
234277 @ Override
235278 public Object getIdentifier (Object entity ) {
236279 return delegate .getIdentifier (entity );
237280 }
238281
239- // @Override
240- // public <T> ResultSetMapping<T> getResultSetMapping(Class<T> resultType, String mappingName) {
241- // return delegate.getResultSetMapping( resultType, mappingName );
242- // }
243- //
244- // @Override
245- // public <T> EntityGraph<T> getEntityGraph(Class<T> entity, String name) {
246- // return delegate.getEntityGraph( entity, name );
247- // }
248- //
249- // @Override
250- // public <T> EntityGraph<T> createEntityGraph(Class<T> entity) {
251- // return delegate.createEntityGraph( entity );
252- // }
253- //
254- // @Override
255- // public <T> EntityGraph<T> createEntityGraph(Class<T> entity, String name) {
256- // return delegate.createEntityGraph( entity, name );
257- // }
258-
259282 @ Override
260283 public <T > Uni <T > withTransaction (Function <Mutiny .Transaction , Uni <T >> work ) {
261284 return currentTransaction == null ? new Transaction <T >().execute ( work ) : work .apply ( currentTransaction );
@@ -336,6 +359,26 @@ public MutinySessionFactoryImpl getFactory() {
336359 return factory ;
337360 }
338361
362+ @ Override
363+ public boolean isFetchProfileEnabled (String name ) {
364+ return false ;
365+ }
366+
367+ @ Override
368+ public Filter enableFilter (String filterName ) {
369+ return delegate .getSharedContract ().enableFilter ( filterName );
370+ }
371+
372+ @ Override
373+ public void disableFilter (String filterName ) {
374+ delegate .getSharedContract ().disableFilter ( filterName );
375+ }
376+
377+ @ Override
378+ public Filter getEnabledFilter (String filterName ) {
379+ return delegate .getSharedContract ().getEnabledFilter ( filterName );
380+ }
381+
339382 @ Override
340383 public <T > ResultSetMapping <T > getResultSetMapping (Class <T > resultType , String mappingName ) {
341384 return delegate .getResultSetMapping ( resultType , mappingName );
@@ -355,4 +398,9 @@ public <T> EntityGraph<T> createEntityGraph(Class<T> rootType) {
355398 public <T > EntityGraph <T > createEntityGraph (Class <T > rootType , String graphName ) {
356399 return delegate .createEntityGraph ( rootType , graphName );
357400 }
401+
402+ @ Override
403+ public <T > Uni <T > unproxy (T association ) {
404+ return uni ( () -> delegate .reactiveFetch ( association , true ) );
405+ }
358406}
0 commit comments