Skip to content

Commit 1b5088a

Browse files
committed
HHH-7725 - Make handling multi-table bulk HQL operations more pluggable
1 parent 0ab36be commit 1b5088a

File tree

4 files changed

+22
-10
lines changed

4 files changed

+22
-10
lines changed

hibernate-core/src/main/java/org/hibernate/hql/spi/AbstractTableBasedBulkIdHandler.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,6 @@ public class AbstractTableBasedBulkIdHandler {
5555
private final String catalog;
5656
private final String schema;
5757

58-
public AbstractTableBasedBulkIdHandler(SessionFactoryImplementor sessionFactory, HqlSqlWalker walker) {
59-
this( sessionFactory, walker, null, null );
60-
}
61-
6258
public AbstractTableBasedBulkIdHandler(
6359
SessionFactoryImplementor sessionFactory,
6460
HqlSqlWalker walker,

hibernate-core/src/main/java/org/hibernate/hql/spi/PersistentTableBulkIdStrategy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ public void release(JdbcServices jdbcServices, JdbcConnectionAccess connectionAc
217217

218218
@Override
219219
public UpdateHandler buildUpdateHandler(SessionFactoryImplementor factory, HqlSqlWalker walker) {
220-
return new TableBasedUpdateHandlerImpl( factory, walker ) {
220+
return new TableBasedUpdateHandlerImpl( factory, walker, catalog, schema ) {
221221
@Override
222222
protected void addAnyExtraIdSelectValues(SelectValues selectClause) {
223223
selectClause.addParameter( Types.CHAR, 36 );
@@ -285,7 +285,7 @@ protected JDBCException convert(SessionFactoryImplementor factory, SQLException
285285

286286
@Override
287287
public DeleteHandler buildDeleteHandler(SessionFactoryImplementor factory, HqlSqlWalker walker) {
288-
return new TableBasedDeleteHandlerImpl( factory, walker ) {
288+
return new TableBasedDeleteHandlerImpl( factory, walker, catalog, schema ) {
289289
@Override
290290
protected void addAnyExtraIdSelectValues(SelectValues selectClause) {
291291
selectClause.addParameter( Types.CHAR, 36 );

hibernate-core/src/main/java/org/hibernate/hql/spi/TableBasedDeleteHandlerImpl.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,16 @@ public class TableBasedDeleteHandlerImpl
5454
private final List<ParameterSpecification> idSelectParameterSpecifications;
5555
private final String[] deletes;
5656

57-
TableBasedDeleteHandlerImpl(SessionFactoryImplementor factory, HqlSqlWalker walker) {
58-
super( factory, walker );
57+
public TableBasedDeleteHandlerImpl(SessionFactoryImplementor factory, HqlSqlWalker walker) {
58+
this( factory, walker, null, null );
59+
}
60+
61+
public TableBasedDeleteHandlerImpl(
62+
SessionFactoryImplementor factory,
63+
HqlSqlWalker walker,
64+
String catalog,
65+
String schema) {
66+
super( factory, walker, catalog, schema );
5967

6068
DeleteStatement deleteStatement = ( DeleteStatement ) walker.getAST();
6169
FromElement fromElement = deleteStatement.getFromClause().getFromElement();

hibernate-core/src/main/java/org/hibernate/hql/spi/TableBasedUpdateHandlerImpl.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,16 @@ public class TableBasedUpdateHandlerImpl
6060
private final ParameterSpecification[][] assignmentParameterSpecifications;
6161

6262
@SuppressWarnings("unchecked")
63-
TableBasedUpdateHandlerImpl(SessionFactoryImplementor factory, HqlSqlWalker walker) {
64-
super( factory, walker );
63+
public TableBasedUpdateHandlerImpl(SessionFactoryImplementor factory, HqlSqlWalker walker) {
64+
this( factory, walker, null, null );
65+
}
66+
67+
public TableBasedUpdateHandlerImpl(
68+
SessionFactoryImplementor factory,
69+
HqlSqlWalker walker,
70+
String catalog,
71+
String schema) {
72+
super( factory, walker, catalog, schema );
6573

6674
UpdateStatement updateStatement = ( UpdateStatement ) walker.getAST();
6775
FromElement fromElement = updateStatement.getFromClause().getFromElement();

0 commit comments

Comments
 (0)