Skip to content

Commit 402ce62

Browse files
committed
[hibernate#2209] fix cast to ReactiveSession that broke StatelesSession
1 parent feb4c27 commit 402ce62

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

hibernate-reactive-core/src/main/java/org/hibernate/reactive/sql/results/graph/entity/internal/ReactiveEntitySelectFetchInitializer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.hibernate.proxy.LazyInitializer;
2424
import org.hibernate.reactive.logging.impl.Log;
2525
import org.hibernate.reactive.logging.impl.LoggerFactory;
26-
import org.hibernate.reactive.session.ReactiveSession;
26+
import org.hibernate.reactive.session.ReactiveQueryProducer;
2727
import org.hibernate.reactive.sql.results.graph.ReactiveInitializer;
2828
import org.hibernate.spi.NavigablePath;
2929
import org.hibernate.sql.results.graph.AssemblerCreationState;
@@ -154,7 +154,7 @@ else if ( data.getInstance() == null ) {
154154
data.setState( State.INITIALIZED );
155155
final String entityName = concreteDescriptor.getEntityName();
156156

157-
return ( (ReactiveSession) session ).reactiveInternalLoad(
157+
return ( (ReactiveQueryProducer) session ).reactiveInternalLoad(
158158
entityName,
159159
data.getEntityIdentifier(),
160160
true,

hibernate-reactive-core/src/test/java/org/hibernate/reactive/MutinyStatelessSessionTest.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,22 +141,26 @@ public void testStatelessSessionGetMultiple(VertxTestContext context) {
141141
@Test
142142
public void testStatelessSessionCriteria(VertxTestContext context) {
143143
GuineaPig pig = new GuineaPig( "Aloi" );
144+
GuineaPig mate = new GuineaPig("Aloina");
145+
pig.mate = mate;
144146

145147
CriteriaBuilder cb = getSessionFactory().getCriteriaBuilder();
146148

147149
CriteriaQuery<GuineaPig> query = cb.createQuery( GuineaPig.class );
148150
Root<GuineaPig> gp = query.from( GuineaPig.class );
149151
query.where( cb.equal( gp.get( "name" ), cb.parameter( String.class, "n" ) ) );
152+
query.orderBy( cb.asc( gp.get( "name" ) ) );
150153

151154
CriteriaUpdate<GuineaPig> update = cb.createCriteriaUpdate( GuineaPig.class );
152-
update.from( GuineaPig.class );
155+
Root<GuineaPig> root = update.from(GuineaPig.class);
153156
update.set( "name", "Bob" );
157+
update.where( root.get( "mate" ).isNotNull() );
154158

155159
CriteriaDelete<GuineaPig> delete = cb.createCriteriaDelete( GuineaPig.class );
156160
delete.from( GuineaPig.class );
157161

158162
test( context, getMutinySessionFactory().openStatelessSession()
159-
.chain( ss -> ss.insert( pig )
163+
.chain( ss -> ss.insertMultiple( List.of(mate, pig) )
160164
.chain( v -> ss.createQuery( query )
161165
.setParameter( "n", pig.name )
162166
.getResultList() )
@@ -168,7 +172,7 @@ public void testStatelessSessionCriteria(VertxTestContext context) {
168172
.chain( v -> ss.createQuery( update ).executeUpdate() )
169173
.invoke( rows -> assertEquals( 1, rows ) )
170174
.chain( v -> ss.createQuery( delete ).executeUpdate() )
171-
.invoke( rows -> assertEquals( 1, rows ) )
175+
.invoke( rows -> assertEquals( 2, rows ) )
172176
.chain( v -> ss.close() ) )
173177
);
174178
}
@@ -223,6 +227,9 @@ public static class GuineaPig {
223227
@Version
224228
private int version;
225229

230+
@ManyToOne
231+
private GuineaPig mate;
232+
226233
public GuineaPig() {
227234
}
228235

0 commit comments

Comments
 (0)