@@ -339,59 +339,55 @@ protected CompletionStage<Void> deleteEntity(
339
339
persistenceContext .setEntryStatus ( entityEntry , Status .DELETED );
340
340
final EntityKey key = session .generateEntityKey ( entityEntry .getId (), persister );
341
341
342
- CompletionStage <Void > beforeDelete = cascadeBeforeDelete ( session , persister , entity , entityEntry , transientEntities );
343
-
344
- CompletionStage <Void > nullifyAndAction = new ForeignKeys .Nullifier (
345
- entity ,
346
- true ,
347
- false ,
348
- session ,
349
- persister
350
- ).nullifyTransientReferences ( entityEntry .getDeletedState () )
351
- .thenAccept ( v -> {
352
- new Nullability ( session ).checkNullability (
353
- entityEntry .getDeletedState (),
354
- persister ,
355
- Nullability .NullabilityCheckType .DELETE
356
- );
357
- persistenceContext .registerNullifiableEntityKey ( key );
358
-
359
- ReactiveActionQueue actionQueue = actionQueue ( session );
360
-
361
- if ( isOrphanRemovalBeforeUpdates ) {
362
- // TODO: The removeOrphan concept is a temporary "hack" for HHH-6484. This should be removed once action/task
363
- // ordering is improved.
364
- actionQueue .addAction (
365
- new ReactiveOrphanRemovalAction (
366
- entityEntry .getId (),
367
- deletedState ,
368
- version ,
369
- entity ,
370
- persister ,
371
- isCascadeDeleteEnabled ,
372
- session
373
- )
374
- );
375
- }
376
- else {
377
- // Ensures that containing deletions happen before sub-deletions
378
- actionQueue .addAction (
379
- new ReactiveEntityDeleteAction (
380
- entityEntry .getId (),
381
- deletedState ,
382
- version ,
383
- entity ,
384
- persister ,
385
- isCascadeDeleteEnabled ,
386
- session
387
- )
388
- );
389
- }
390
- } );
391
-
392
- CompletionStage <Void > afterDelete = cascadeAfterDelete ( session , persister , entity , transientEntities );
393
-
394
- return beforeDelete .thenCompose ( v -> nullifyAndAction ).thenCompose ( v -> afterDelete );
342
+ return cascadeBeforeDelete ( session , persister , entity , entityEntry , transientEntities )
343
+ .thenCompose ( v -> new ForeignKeys .Nullifier (
344
+ entity ,
345
+ true ,
346
+ false ,
347
+ session ,
348
+ persister
349
+ ).nullifyTransientReferences ( entityEntry .getDeletedState () )
350
+ .thenAccept ( vv -> {
351
+ new Nullability ( session ).checkNullability (
352
+ entityEntry .getDeletedState (),
353
+ persister ,
354
+ Nullability .NullabilityCheckType .DELETE
355
+ );
356
+ persistenceContext .registerNullifiableEntityKey ( key );
357
+
358
+ ReactiveActionQueue actionQueue = actionQueue ( session );
359
+
360
+ if ( isOrphanRemovalBeforeUpdates ) {
361
+ // TODO: The removeOrphan concept is a temporary "hack" for HHH-6484. This should be removed once action/task
362
+ // ordering is improved.
363
+ actionQueue .addAction (
364
+ new ReactiveOrphanRemovalAction (
365
+ entityEntry .getId (),
366
+ deletedState ,
367
+ version ,
368
+ entity ,
369
+ persister ,
370
+ isCascadeDeleteEnabled ,
371
+ session
372
+ )
373
+ );
374
+ }
375
+ else {
376
+ // Ensures that containing deletions happen before sub-deletions
377
+ actionQueue .addAction (
378
+ new ReactiveEntityDeleteAction (
379
+ entityEntry .getId (),
380
+ deletedState ,
381
+ version ,
382
+ entity ,
383
+ persister ,
384
+ isCascadeDeleteEnabled ,
385
+ session
386
+ )
387
+ );
388
+ }
389
+ } ) )
390
+ .thenCompose ( v -> cascadeAfterDelete ( session , persister , entity , transientEntities ) );
395
391
}
396
392
397
393
private ReactiveActionQueue actionQueue (EventSource session ) {
0 commit comments