mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-17 00:24:57 +00:00
HHH-17162 - Allow short names for insert strategies
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
This commit is contained in:
parent
905108e5b3
commit
2c9ce29600
@ -33,10 +33,15 @@
|
|||||||
import org.hibernate.id.enhanced.SingleNamingStrategy;
|
import org.hibernate.id.enhanced.SingleNamingStrategy;
|
||||||
import org.hibernate.id.enhanced.LegacyNamingStrategy;
|
import org.hibernate.id.enhanced.LegacyNamingStrategy;
|
||||||
import org.hibernate.id.enhanced.StandardNamingStrategy;
|
import org.hibernate.id.enhanced.StandardNamingStrategy;
|
||||||
|
import org.hibernate.query.sqm.mutation.internal.cte.CteInsertStrategy;
|
||||||
import org.hibernate.query.sqm.mutation.internal.cte.CteMutationStrategy;
|
import org.hibernate.query.sqm.mutation.internal.cte.CteMutationStrategy;
|
||||||
|
import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy;
|
||||||
import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy;
|
import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy;
|
||||||
|
import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableInsertStrategy;
|
||||||
import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy;
|
import org.hibernate.query.sqm.mutation.internal.temptable.LocalTemporaryTableMutationStrategy;
|
||||||
|
import org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableInsertStrategy;
|
||||||
import org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableMutationStrategy;
|
import org.hibernate.query.sqm.mutation.internal.temptable.PersistentTableMutationStrategy;
|
||||||
|
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy;
|
||||||
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy;
|
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy;
|
||||||
import org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorBuilderImpl;
|
import org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorBuilderImpl;
|
||||||
import org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl;
|
import org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl;
|
||||||
@ -115,6 +120,7 @@ public StrategySelector buildSelector(ClassLoaderService classLoaderService) {
|
|||||||
);
|
);
|
||||||
strategySelector.registerStrategyLazily( JtaPlatform.class, new DefaultJtaPlatformSelector() );
|
strategySelector.registerStrategyLazily( JtaPlatform.class, new DefaultJtaPlatformSelector() );
|
||||||
addTransactionCoordinatorBuilders( strategySelector );
|
addTransactionCoordinatorBuilders( strategySelector );
|
||||||
|
addSqmMultiTableInsertStrategies( strategySelector );
|
||||||
addSqmMultiTableMutationStrategies( strategySelector );
|
addSqmMultiTableMutationStrategies( strategySelector );
|
||||||
addImplicitNamingStrategies( strategySelector );
|
addImplicitNamingStrategies( strategySelector );
|
||||||
addColumnOrderingStrategies( strategySelector );
|
addColumnOrderingStrategies( strategySelector );
|
||||||
@ -177,6 +183,29 @@ private static void addTransactionCoordinatorBuilders(StrategySelectorImpl strat
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void addSqmMultiTableInsertStrategies(StrategySelectorImpl strategySelector) {
|
||||||
|
strategySelector.registerStrategyImplementor(
|
||||||
|
SqmMultiTableInsertStrategy.class,
|
||||||
|
CteInsertStrategy.SHORT_NAME,
|
||||||
|
CteInsertStrategy.class
|
||||||
|
);
|
||||||
|
strategySelector.registerStrategyImplementor(
|
||||||
|
SqmMultiTableInsertStrategy.class,
|
||||||
|
GlobalTemporaryTableInsertStrategy.SHORT_NAME,
|
||||||
|
GlobalTemporaryTableInsertStrategy.class
|
||||||
|
);
|
||||||
|
strategySelector.registerStrategyImplementor(
|
||||||
|
SqmMultiTableInsertStrategy.class,
|
||||||
|
LocalTemporaryTableInsertStrategy.SHORT_NAME,
|
||||||
|
LocalTemporaryTableInsertStrategy.class
|
||||||
|
);
|
||||||
|
strategySelector.registerStrategyImplementor(
|
||||||
|
SqmMultiTableInsertStrategy.class,
|
||||||
|
PersistentTableInsertStrategy.SHORT_NAME,
|
||||||
|
PersistentTableInsertStrategy.class
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
private static void addSqmMultiTableMutationStrategies(StrategySelectorImpl strategySelector) {
|
private static void addSqmMultiTableMutationStrategies(StrategySelectorImpl strategySelector) {
|
||||||
strategySelector.registerStrategyImplementor(
|
strategySelector.registerStrategyImplementor(
|
||||||
SqmMultiTableMutationStrategy.class,
|
SqmMultiTableMutationStrategy.class,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user