Skip to content

Commit 2fd2117

Browse files
committed
sync some code in ReactiveStatelessSessionImpl with core SessionImpl
also remove some unnecessary operations of ReactiveQueryProducer also fill in some missing method implementations
1 parent 76e1218 commit 2fd2117

11 files changed

+249
-255
lines changed

hibernate-reactive-core/src/main/java/org/hibernate/reactive/event/impl/DefaultReactiveResolveNaturalIdEventListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ protected CompletionStage<Object> loadFromDatasource(ResolveNaturalIdEvent event
113113
final boolean statisticsEnabled = statistics.isStatisticsEnabled();
114114
final long startTime = statisticsEnabled ? System.nanoTime() : 0;
115115

116-
return ( (ReactiveEntityPersister) entityPersister)
116+
return ( (ReactiveEntityPersister) entityPersister )
117117
.reactiveLoadEntityIdByNaturalId( event.getOrderedNaturalIdValues(), event.getLockOptions(), session )
118118
.thenApply( pk -> {
119119
if ( statisticsEnabled ) {

hibernate-reactive-core/src/main/java/org/hibernate/reactive/loader/ast/internal/ReactiveSingleIdEntityLoaderProvidedQueryImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
* provided the select load query
2929
*/
3030
public class ReactiveSingleIdEntityLoaderProvidedQueryImpl<T> implements ReactiveSingleIdEntityLoader<T> {
31-
private static final Log LOG = LoggerFactory.make( Log.class, MethodHandles.lookup() );
3231

3332
private static final CompletionStage<Object[]> EMPTY_ARRAY_STAGE = completedFuture( ArrayHelper.EMPTY_OBJECT_ARRAY );
3433

@@ -66,7 +65,7 @@ public CompletionStage<T> load(
6665
Boolean readOnly,
6766
SharedSessionContractImplementor session) {
6867
if ( entityInstance != null ) {
69-
throw LOG.notYetImplemented();
68+
throw new UnsupportedOperationException("null entity instance");
7069
}
7170
return load( pkValue, lockOptions, readOnly, session );
7271
}

hibernate-reactive-core/src/main/java/org/hibernate/reactive/mutiny/impl/MutinySessionImpl.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,7 @@ public <R> Mutiny.Query<R> createQuery(String queryString, Class<R> resultType)
121121

122122
@Override
123123
public <R> Mutiny.Query<R> createQuery(CriteriaQuery<R> criteriaQuery) {
124-
return new MutinyQueryImpl<>(
125-
(ReactiveQuerySqmImpl<R>) delegate.createReactiveQuery( criteriaQuery ),
126-
factory
127-
);
124+
return new MutinyQueryImpl<>( delegate.createReactiveQuery( criteriaQuery ), factory );
128125
}
129126

130127
@Override

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveEntityPersister.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,9 @@ static CompletionStage<Object> forceInitialize(
170170
attributeName
171171
);
172172

173-
ReactiveEntityPersister persister = (ReactiveEntityPersister) session
174-
.getFactory()
175-
.getRuntimeMetamodels()
176-
.getMappingMetamodel()
177-
.getEntityDescriptor( entityName );
173+
final ReactiveEntityPersister persister = (ReactiveEntityPersister)
174+
session.getFactory().getMappingMetamodel()
175+
.getEntityDescriptor( entityName );
178176
return persister.reactiveInitializeEnhancedEntityUsedAsProxy( target, attributeName, session );
179177
}
180178

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveJoinedSubclassEntityPersister.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@ private CompletionStage<Object> doReactiveLoad(Object id, Object optionalObject,
312312

313313
@Override
314314
public Object loadEntityIdByNaturalId(Object[] naturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
315-
throw new UnsupportedOperationException("not yet implemented");
315+
throw LOG.nonReactiveMethodCall( "loadEntityIdByNaturalId" );
316316
}
317317

318318
@Override

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveSingleTableEntityPersister.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ public <K> CompletionStage<? extends List<?>> reactiveMultiLoad(K[] ids, EventSo
313313

314314
@Override
315315
public Object loadEntityIdByNaturalId(Object[] naturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
316-
throw LOG.notYetImplemented();
316+
throw LOG.nonReactiveMethodCall( "loadEntityIdByNaturalId" );
317317
}
318318

319319
@Override

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/impl/ReactiveUnionSubclassEntityPersister.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,11 @@ public CompletionStage<Object> reactiveLoadEntityIdByNaturalId(Object[] orderedN
343343
return reactiveDelegate.loadEntityIdByNaturalId( orderedNaturalIdValues, lockOptions, session );
344344
}
345345

346+
@Override
347+
public Object loadEntityIdByNaturalId(Object[] naturalIdValues, LockOptions lockOptions, SharedSessionContractImplementor session) {
348+
throw LOG.nonReactiveMethodCall( "loadEntityIdByNaturalId" );
349+
}
350+
346351
@Override
347352
public Object loadByUniqueKey(String propertyName, Object uniqueKey, SharedSessionContractImplementor session) {
348353
return loadByUniqueKey( propertyName, uniqueKey, null, session );

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/entity/mutation/ReactiveInsertCoordinator.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,10 @@ public Object coordinateInsert(Object id, Object[] values, Object entity, Shared
4848

4949
public CompletionStage<Object> coordinateReactiveInsert(Object id, Object[] currentValues, Object entity, SharedSessionContractImplementor session) {
5050
return reactivePreInsertInMemoryValueGeneration(currentValues, entity, session)
51-
.thenCompose( v -> {
52-
return entityPersister().getEntityMetamodel().isDynamicInsert()
53-
? doDynamicInserts( id, currentValues, entity, session )
54-
: doStaticInserts( id, currentValues, entity, session );
55-
});
51+
.thenCompose( v -> entityPersister().getEntityMetamodel().isDynamicInsert()
52+
? doDynamicInserts( id, currentValues, entity, session )
53+
: doStaticInserts( id, currentValues, entity, session )
54+
);
5655
}
5756

5857
private CompletionStage<Void> reactivePreInsertInMemoryValueGeneration(Object[] currentValues, Object entity, SharedSessionContractImplementor session) {

hibernate-reactive-core/src/main/java/org/hibernate/reactive/session/ReactiveQueryProducer.java

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,11 @@ public interface ReactiveQueryProducer extends ReactiveConnectionSupplier {
7777

7878
<R> ReactiveMutationQuery<R> createReactiveMutationQuery(String hqlString);
7979

80-
<R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaUpdate updateQuery);
80+
<R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaUpdate<R> updateQuery);
8181

82-
<R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaDelete deleteQuery);
82+
<R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaDelete<R> deleteQuery);
8383

84-
<R> ReactiveMutationQuery<R> createReactiveMutationQuery(JpaCriteriaInsertSelect insertSelect);
84+
<R> ReactiveMutationQuery<R> createReactiveMutationQuery(JpaCriteriaInsertSelect<R> insertSelect);
8585

8686
<R> ReactiveMutationQuery<R> createNativeReactiveMutationQuery(String sqlString);
8787

@@ -91,25 +91,13 @@ public interface ReactiveQueryProducer extends ReactiveConnectionSupplier {
9191

9292
<R> ReactiveMutationQuery<R> createNamedReactiveMutationQuery(String name);
9393

94-
@Deprecated(since = "6.0")
95-
@SuppressWarnings("rawtypes")
96-
<R> ReactiveQuery getNamedReactiveQuery(String queryName);
94+
<R> ReactiveNativeQuery<R> createReactiveNativeQuery(String queryString, AffectedEntities affectedEntities);
9795

98-
@Deprecated(since = "6.0")
99-
@SuppressWarnings("rawtypes")
100-
<R> ReactiveNativeQuery getNamedReactiveNativeQuery(String name);
96+
<R> ReactiveNativeQuery<R> createReactiveNativeQuery(String queryString, Class<R> resultType, AffectedEntities affectedEntities);
10197

102-
@Deprecated(since = "6.0")
103-
@SuppressWarnings("rawtypes")
104-
ReactiveNativeQuery getNamedReactiveNativeQuery(String name, String resultSetMapping);
98+
<R> ReactiveNativeQuery<R> createReactiveNativeQuery(String queryString, ResultSetMapping<R> resultSetMapping);
10599

106-
<R> ReactiveNativeQuery createReactiveNativeQuery(String queryString, AffectedEntities affectedEntities);
107-
108-
<R> ReactiveNativeQuery createReactiveNativeQuery(String queryString, Class<R> resultType, AffectedEntities affectedEntities);
109-
110-
<R> ReactiveNativeQuery createReactiveNativeQuery(String queryString, ResultSetMapping<R> resultSetMapping);
111-
112-
<R> ReactiveNativeQuery createReactiveNativeQuery(String queryString, ResultSetMapping<R> resultSetMapping, AffectedEntities affectedEntities);
100+
<R> ReactiveNativeQuery<R> createReactiveNativeQuery(String queryString, ResultSetMapping<R> resultSetMapping, AffectedEntities affectedEntities);
113101

114102
<T> ResultSetMapping<T> getResultSetMapping(Class<T> resultType, String mappingName);
115103
}

hibernate-reactive-core/src/main/java/org/hibernate/reactive/session/impl/ReactiveSessionImpl.java

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ private static void checkMutationQuery(String hqlString, SqmStatement<?> sqmStat
583583
}
584584

585585
@Override
586-
public <R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaUpdate updateQuery) {
586+
public <R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaUpdate<R> updateQuery) {
587587
checkOpen();
588588
try {
589589
return createCriteriaQuery( (SqmUpdateStatement<R>) updateQuery, null );
@@ -594,7 +594,7 @@ public <R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaUpdate u
594594
}
595595

596596
@Override
597-
public <R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaDelete deleteQuery) {
597+
public <R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaDelete<R> deleteQuery) {
598598
checkOpen();
599599
try {
600600
return createCriteriaQuery( (SqmDeleteStatement<R>) deleteQuery, null );
@@ -605,7 +605,7 @@ public <R> ReactiveMutationQuery<R> createReactiveMutationQuery(CriteriaDelete d
605605
}
606606

607607
@Override
608-
public <R> ReactiveMutationQuery<R> createReactiveMutationQuery(JpaCriteriaInsertSelect insertSelect) {
608+
public <R> ReactiveMutationQuery<R> createReactiveMutationQuery(JpaCriteriaInsertSelect<R> insertSelect) {
609609
checkOpen();
610610
try {
611611
return createCriteriaQuery( (SqmInsertSelectStatement<R>) insertSelect, null );
@@ -681,29 +681,14 @@ public <R> ReactiveMutationQuery<R> createNativeReactiveMutationQuery(String sql
681681
return query;
682682
}
683683

684-
@Override
685-
public <R> ReactiveQueryImplementor getNamedReactiveQuery(String queryName) {
686-
return (ReactiveQueryImplementor) buildNamedQuery( queryName, null );
687-
}
688-
689-
@Override
690-
public <R> ReactiveNativeQuery getNamedReactiveNativeQuery(String name) {
691-
return (ReactiveNativeQuery) getNamedNativeQuery( name );
692-
}
693-
694-
@Override
695-
public ReactiveNativeQuery getNamedReactiveNativeQuery(String name, String resultSetMapping) {
696-
return (ReactiveNativeQuery) getNamedNativeQuery( name, resultSetMapping );
697-
}
698-
699684
@Override
700685
public <R> ReactiveNativeQuery<R> createReactiveNativeQuery(String queryString, AffectedEntities affectedEntities) {
701686
checkOpen();
702687
pulseTransactionCoordinator();
703688
delayedAfterCompletion();
704689

705690
try {
706-
ReactiveNativeQueryImpl<R> query = new ReactiveNativeQueryImpl<>( queryString, this );
691+
final ReactiveNativeQueryImpl<R> query = new ReactiveNativeQueryImpl<>( queryString, this );
707692
addAffectedEntities( affectedEntities, query );
708693
if ( isEmpty( query.getComment() ) ) {
709694
query.setComment( "dynamic native SQL query" );
@@ -717,8 +702,7 @@ public <R> ReactiveNativeQuery<R> createReactiveNativeQuery(String queryString,
717702
}
718703

719704
private void addAffectedEntities(AffectedEntities affectedEntities, NativeQueryImplementor<?> query) {
720-
String[] spaces = affectedEntities.getAffectedSpaces( getFactory() );
721-
for ( String space : spaces ) {
705+
for ( String space : affectedEntities.getAffectedSpaces( getFactory() ) ) {
722706
query.addSynchronizedQuerySpace( space );
723707
}
724708
}
@@ -749,8 +733,11 @@ public <R> ReactiveNativeQueryImpl<R> createReactiveNativeQuery(String queryStri
749733
}
750734

751735
@Override
752-
public <R> ReactiveNativeQuery createReactiveNativeQuery(String queryString, ResultSetMapping<R> resultSetMapping, AffectedEntities affectedEntities) {
753-
ReactiveNativeQueryImpl nativeQuery = createReactiveNativeQuery( queryString, resultSetMapping );
736+
public <R> ReactiveNativeQuery<R> createReactiveNativeQuery(
737+
String queryString,
738+
ResultSetMapping<R> resultSetMapping,
739+
AffectedEntities affectedEntities) {
740+
final ReactiveNativeQueryImpl<R> nativeQuery = createReactiveNativeQuery( queryString, resultSetMapping );
754741
addAffectedEntities( affectedEntities, nativeQuery );
755742
return nativeQuery;
756743
}
@@ -770,7 +757,7 @@ public <T> ResultSetMapping<T> getResultSetMapping(Class<T> resultType, String m
770757
// }
771758
// }
772759

773-
return new ResultSetMapping<T>() {
760+
return new ResultSetMapping<>() {
774761
@Override
775762
public String getName() {
776763
return mappingName;
@@ -780,7 +767,6 @@ public Class<T> getResultType() {
780767
return resultType;
781768
}
782769
};
783-
784770
}
785771

786772
//TODO: deleteme, call superclass method
@@ -1293,7 +1279,7 @@ public <T> CompletionStage<List<T>> reactiveFind(Class<T> entityClass, Object...
12931279

12941280
@Override
12951281
public <T> CompletionStage<T> reactiveFind(Class<T> entityClass, Map<String, Object> ids) {
1296-
EntityPersister persister = getFactory().getMetamodel().locateEntityPersister( entityClass );
1282+
final EntityPersister persister = getFactory().getMetamodel().locateEntityPersister( entityClass );
12971283
return new NaturalIdLoadAccessImpl<T>( persister ).resolveNaturalId( ids )
12981284
.thenCompose( id -> reactiveFind( entityClass, id, null, null ) );
12991285
}

0 commit comments

Comments
 (0)