| Hello Gail, i retested it with Hibernate 5.3.0.CR1 on Wildfly11 (pimped with JPA 2.2) and it seems to work: Insert of parent A-Entities (10 inserts were always batched as configured):
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-90]
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-90]
2018-02-23 11:44:50,453 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-91]
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-91]
2018-02-23 11:44:50,453 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-92]
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-92]
2018-02-23 11:44:50,453 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-93]
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-93]
2018-02-23 11:44:50,453 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-94]
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-94]
2018-02-23 11:44:50,453 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-95]
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-95]
2018-02-23 11:44:50,453 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-96]
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-96]
2018-02-23 11:44:50,453 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-97]
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-97]
2018-02-23 11:44:50,453 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-98]
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-98]
2018-02-23 11:44:50,453 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,453 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A (NAME, ID) values (?, ?)
2018-02-23 11:44:50,453 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-99]
2018-02-23 11:44:50,468 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-A-99]
2018-02-23 11:44:50,468 DEBUG [org.hibernate.engine.jdbc.batch.internal.BatchingBatch] (ServerService Thread Pool -- 62) Executing batch size: 10
Insert of Child-Entities B and Mapping-Entries (20 inserts were always batched, 10 to table B + 10 to mapping table):
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-23 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-23ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-23ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-47 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-47ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-47ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-2 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-2ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-2ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-5 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-5ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-5ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-44 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-44ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-44ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-8 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-8ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-8ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-29 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-29ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-29ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-26 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-26ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-26ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-31 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-31ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-31ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into B (NAME, ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [Name ID-34 Parent 0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-34ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl] (ServerService Thread Pool -- 62) Reusing batch statement
2018-02-23 11:44:50,484 DEBUG [org.hibernate.SQL] (ServerService Thread Pool -- 62) insert into A2B (A_ID, B_ID) values (?, ?)
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [1] as [VARCHAR] - [ID-A-0]
2018-02-23 11:44:50,484 TRACE [org.hibernate.type.descriptor.sql.BasicBinder] (ServerService Thread Pool -- 62) binding parameter [2] as [VARCHAR] - [ID-B-34ID-A-0]
2018-02-23 11:44:50,484 DEBUG [org.hibernate.engine.jdbc.batch.internal.BatchingBatch] (ServerService Thread Pool -- 62) Executing batch size: 20
For me this bug is fixed an can be closed. Florian |