|
47 | 47 | import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableStrategy;
|
48 | 48 | import org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableStrategy;
|
49 | 49 | import org.hibernate.service.spi.ServiceRegistryImplementor;
|
| 50 | +import org.hibernate.sql.model.MutationOperation; |
50 | 51 | import org.hibernate.sql.model.MutationOperationGroup;
|
51 | 52 | import org.hibernate.sql.model.PreparableMutationOperation;
|
52 | 53 | import org.hibernate.tool.hbm2ddl.SchemaExport;
|
@@ -408,38 +409,51 @@ private void verifyEntityPersisterQualifiers(Class<?> entityClass, ExpectedQuali
|
408 | 409 | // This will include SQL generated by ID generators in some cases, which will be validated here
|
409 | 410 | // because ID generators table/sequence names are prefixed with the owning entity name.
|
410 | 411 |
|
411 |
| - final MutationOperationGroup staticSqlInsertGroup = persister.getInsertCoordinator().getStaticInsertGroup(); |
412 |
| - final String[] insertSqls = new String[ staticSqlInsertGroup.getNumberOfOperations()]; |
413 |
| - staticSqlInsertGroup.forEachOperation( (tablePosition, insertOperation) -> { |
414 |
| - if ( insertOperation instanceof PreparableMutationOperation ) { |
415 |
| - insertSqls[tablePosition] = ( (PreparableMutationOperation) insertOperation ).getSqlString(); |
| 412 | + { |
| 413 | + final MutationOperationGroup staticSqlInsertGroup = persister.getInsertCoordinator().getStaticInsertGroup(); |
| 414 | + final String[] insertSqls = new String[staticSqlInsertGroup.getNumberOfOperations()]; |
| 415 | + for ( int tablePosition = 0; |
| 416 | + tablePosition < staticSqlInsertGroup.getNumberOfOperations(); |
| 417 | + tablePosition++ ) { |
| 418 | + final MutationOperation insertOperation = staticSqlInsertGroup.getOperation( tablePosition ); |
| 419 | + if ( insertOperation instanceof PreparableMutationOperation ) { |
| 420 | + insertSqls[tablePosition] = ( (PreparableMutationOperation) insertOperation ).getSqlString(); |
| 421 | + } |
416 | 422 | }
|
417 |
| - } ); |
418 |
| - |
419 |
| - verifyOnlyQualifier( insertSqls, SqlType.RUNTIME, jpaEntityName, expectedQualifier ); |
| 423 | + verifyOnlyQualifier( insertSqls, SqlType.RUNTIME, jpaEntityName, expectedQualifier ); |
| 424 | + } |
420 | 425 |
|
421 | 426 | String identitySelectString = persister.getIdentitySelectString();
|
422 | 427 | if ( identitySelectString != null ) {
|
423 | 428 | verifyOnlyQualifierOptional( identitySelectString, SqlType.RUNTIME, jpaEntityName, expectedQualifier );
|
424 | 429 | }
|
425 | 430 |
|
426 |
| - final MutationOperationGroup staticSqlUpdateGroup = persister.getUpdateCoordinator().getStaticUpdateGroup(); |
427 |
| - final String[] sqlUpdateStrings = new String[staticSqlUpdateGroup.getNumberOfOperations()]; |
428 |
| - staticSqlUpdateGroup.forEachOperation( (tablePosition, operation) -> { |
429 |
| - if ( operation instanceof PreparableMutationOperation ) { |
430 |
| - sqlUpdateStrings[tablePosition] = ( (PreparableMutationOperation) operation ).getSqlString(); |
| 431 | + { |
| 432 | + final MutationOperationGroup staticSqlUpdateGroup = persister.getUpdateCoordinator().getStaticUpdateGroup(); |
| 433 | + final String[] sqlUpdateStrings = new String[staticSqlUpdateGroup.getNumberOfOperations()]; |
| 434 | + for ( int tablePosition = 0; |
| 435 | + tablePosition < staticSqlUpdateGroup.getNumberOfOperations(); |
| 436 | + tablePosition++ ) { |
| 437 | + final MutationOperation operation = staticSqlUpdateGroup.getOperation( tablePosition ); |
| 438 | + if ( operation instanceof PreparableMutationOperation ) { |
| 439 | + sqlUpdateStrings[tablePosition] = ( (PreparableMutationOperation) operation ).getSqlString(); |
| 440 | + } |
431 | 441 | }
|
432 |
| - } ); |
433 |
| - verifyOnlyQualifier( sqlUpdateStrings, SqlType.RUNTIME, jpaEntityName, expectedQualifier ); |
434 |
| - |
435 |
| - final MutationOperationGroup staticDeleteGroup = persister.getDeleteCoordinator().getStaticDeleteGroup(); |
436 |
| - final String[] sqlDeleteStrings = new String[staticDeleteGroup.getNumberOfOperations()]; |
437 |
| - staticDeleteGroup.forEachOperation( (tablePosition, operation) -> { |
438 |
| - if ( operation instanceof PreparableMutationOperation ) { |
439 |
| - sqlDeleteStrings[tablePosition] = ( (PreparableMutationOperation) operation ).getSqlString(); |
| 442 | + verifyOnlyQualifier( sqlUpdateStrings, SqlType.RUNTIME, jpaEntityName, expectedQualifier ); |
| 443 | + } |
| 444 | + |
| 445 | + |
| 446 | + { |
| 447 | + final MutationOperationGroup staticDeleteGroup = persister.getDeleteCoordinator().getStaticDeleteGroup(); |
| 448 | + final String[] sqlDeleteStrings = new String[staticDeleteGroup.getNumberOfOperations()]; |
| 449 | + for ( int tablePosition = 0; tablePosition < staticDeleteGroup.getNumberOfOperations(); tablePosition++ ) { |
| 450 | + final MutationOperation operation = staticDeleteGroup.getOperation( tablePosition ); |
| 451 | + if ( operation instanceof PreparableMutationOperation ) { |
| 452 | + sqlDeleteStrings[tablePosition] = ( (PreparableMutationOperation) operation ).getSqlString(); |
| 453 | + } |
440 | 454 | }
|
441 |
| - } ); |
442 |
| - verifyOnlyQualifier( sqlDeleteStrings, SqlType.RUNTIME, jpaEntityName, expectedQualifier ); |
| 455 | + verifyOnlyQualifier( sqlDeleteStrings, SqlType.RUNTIME, jpaEntityName, expectedQualifier ); |
| 456 | + } |
443 | 457 |
|
444 | 458 | // This is used in the "select" id generator in particular.
|
445 | 459 | verifyOnlyQualifierOptional( persister.getSelectByUniqueKeyString( "basic" ), SqlType.RUNTIME,
|
|
0 commit comments