1) create a custom Dialect that extends DB2Dialect and overrides #getDefaultMultiTableBulkIdStrategy as follows:
{{ @Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
// Starting in DB2 9.7, "real" global temporary tables that can be shared between sessions
// are supported; (obviously) data is not shared between sessions.
return new GlobalTemporaryTableBulkIdStrategy(
new IdTableSupportStandardImpl() {
@Override
public String generateIdTableName(String baseName)
{
return super.generateIdTableName( baseName );
}
@Override
public String getCreateIdTableCommand()
{
return "create global temporary table";
}
@Override
public String getCreateIdTableStatementOptions()
{
return "not logged";
}
},
AfterUseAction.CLEAN
);
}
}}
2) provide a custom MultiTableBulkIdStrategy implementation defined like the return value in 1), using hibernate.hql.bulk_id_strategy=custom_strategy