Skip to content

Commit 1b326b9

Browse files
committed
[#1717] Upgrade Hibernate ORM to 6.2.7.Final
Fix compilation errors and test failure. `BasicTypesAndCallbacksForAllDBsTest#testCallbacksAndVersioning` fails because Hibernate ORM now throws an exception when the associated entity has null version. Becaue in our test the association is lazy, it means we need to fetch it before removing the entity owner. See the related change in Hibernate ORM: hibernate/hibernate-orm@1653023 I've also added some assertions to check how the version value changes in the different steps.
1 parent a270bdb commit 1b326b9

File tree

5 files changed

+36
-9
lines changed

5 files changed

+36
-9
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ version = projectVersion
5353
// ./gradlew clean build -PhibernateOrmVersion=5.6.15-SNAPSHOT
5454
ext {
5555
if ( !project.hasProperty('hibernateOrmVersion') ) {
56-
hibernateOrmVersion = '6.2.6.Final'
56+
hibernateOrmVersion = '6.2.7.Final'
5757
}
5858
if ( !project.hasProperty( 'hibernateOrmGradlePluginVersion' ) ) {
5959
// Same as ORM as default

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/collection/impl/ReactiveBasicCollectionPersister.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,12 @@ private ReactiveDeleteRowsCoordinator buildDeleteRowCoordinator() {
110110
return new ReactiveDeleteRowsCoordinatorNoOp( this );
111111
}
112112

113-
return new ReactiveDeleteRowsCoordinatorStandard( this, getRowMutationOperations(), hasPhysicalIndexColumn() );
113+
return new ReactiveDeleteRowsCoordinatorStandard(
114+
this,
115+
getRowMutationOperations(),
116+
hasPhysicalIndexColumn(),
117+
getFactory().getServiceRegistry()
118+
);
114119
}
115120

116121
private ReactiveRemoveCoordinator buildDeleteAllCoordinator() {
@@ -121,7 +126,11 @@ private ReactiveRemoveCoordinator buildDeleteAllCoordinator() {
121126
return new ReactiveRemoveCoordinatorNoOp( this );
122127
}
123128

124-
return new ReactiveRemoveCoordinatorStandard( this, this::buildDeleteAllOperation );
129+
return new ReactiveRemoveCoordinatorStandard(
130+
this,
131+
this::buildDeleteAllOperation,
132+
getFactory().getServiceRegistry()
133+
);
125134
}
126135

127136
@Override

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/collection/impl/ReactiveOneToManyPersister.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,12 @@ private ReactiveDeleteRowsCoordinator buildDeleteCoordinator() {
124124
return new ReactiveDeleteRowsCoordinatorNoOp( this );
125125
}
126126
// never delete by index for one-to-many
127-
return new ReactiveDeleteRowsCoordinatorStandard( this, getRowMutationOperations(), false );
127+
return new ReactiveDeleteRowsCoordinatorStandard(
128+
this,
129+
getRowMutationOperations(),
130+
false,
131+
getFactory().getServiceRegistry()
132+
);
128133
}
129134

130135
private ReactiveRemoveCoordinator buildDeleteAllCoordinator() {
@@ -134,7 +139,11 @@ private ReactiveRemoveCoordinator buildDeleteAllCoordinator() {
134139
}
135140
return new ReactiveRemoveCoordinatorNoOp( this );
136141
}
137-
return new ReactiveRemoveCoordinatorStandard( this, this::buildDeleteAllOperation );
142+
return new ReactiveRemoveCoordinatorStandard(
143+
this,
144+
this::buildDeleteAllOperation,
145+
getFactory().getServiceRegistry()
146+
);
138147
}
139148

140149
@Override

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/collection/mutation/ReactiveDeleteRowsCoordinatorStandard.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.hibernate.persister.collection.mutation.DeleteRowsCoordinatorStandard;
2020
import org.hibernate.persister.collection.mutation.RowMutationOperations;
2121
import org.hibernate.reactive.engine.jdbc.env.internal.ReactiveMutationExecutor;
22+
import org.hibernate.service.ServiceRegistry;
2223
import org.hibernate.sql.model.MutationOperationGroup;
2324
import org.hibernate.sql.model.MutationType;
2425
import org.hibernate.sql.model.internal.MutationOperationGroupSingle;
@@ -35,8 +36,12 @@ public class ReactiveDeleteRowsCoordinatorStandard extends DeleteRowsCoordinator
3536
private MutationOperationGroupSingle operationGroup;
3637
private final BasicBatchKey batchKey;
3738

38-
public ReactiveDeleteRowsCoordinatorStandard(CollectionMutationTarget mutationTarget, RowMutationOperations rowMutationOperations, boolean deleteByIndex) {
39-
super( mutationTarget, rowMutationOperations, deleteByIndex );
39+
public ReactiveDeleteRowsCoordinatorStandard(
40+
CollectionMutationTarget mutationTarget,
41+
RowMutationOperations rowMutationOperations,
42+
boolean deleteByIndex,
43+
ServiceRegistry serviceRegistry) {
44+
super( mutationTarget, rowMutationOperations, deleteByIndex, serviceRegistry );
4045
this.deleteByIndex = deleteByIndex;
4146
this.rowMutationOperations = rowMutationOperations;
4247
this.batchKey = new BasicBatchKey( mutationTarget.getRolePath() + "#DELETE" );

hibernate-reactive-core/src/main/java/org/hibernate/reactive/persister/collection/mutation/ReactiveRemoveCoordinatorStandard.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.hibernate.reactive.logging.impl.Log;
2222
import org.hibernate.reactive.logging.impl.LoggerFactory;
2323
import org.hibernate.reactive.util.impl.CompletionStages;
24+
import org.hibernate.service.ServiceRegistry;
2425
import org.hibernate.sql.model.MutationOperationGroup;
2526
import org.hibernate.sql.model.MutationType;
2627
import org.hibernate.sql.model.ast.MutatingTableReference;
@@ -40,8 +41,11 @@ public class ReactiveRemoveCoordinatorStandard extends RemoveCoordinatorStandard
4041
private final OperationProducer operationProducer;
4142
private MutationOperationGroupSingle operationGroup;
4243

43-
public ReactiveRemoveCoordinatorStandard(CollectionMutationTarget mutationTarget, OperationProducer operationProducer) {
44-
super( mutationTarget, operationProducer );
44+
public ReactiveRemoveCoordinatorStandard(
45+
CollectionMutationTarget mutationTarget,
46+
OperationProducer operationProducer,
47+
ServiceRegistry serviceRegistry) {
48+
super( mutationTarget, operationProducer, serviceRegistry );
4549
this.batchKey = new BasicBatchKey( mutationTarget.getRolePath() + "#REMOVE" );
4650
this.operationProducer = operationProducer;
4751
}

0 commit comments

Comments
 (0)