类org.hibernate.hql.spi.id.MultiTableBulkIdStrategy源码实例Demo

下面列出了怎么用org.hibernate.hql.spi.id.MultiTableBulkIdStrategy的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lams   文件: DB297Dialect.java
@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 项目: lams   文件: DerbyDialect.java
/**
 * {@inheritDoc}
 * <p>
 * From Derby docs:
 * <pre>
 *     The DECLARE GLOBAL TEMPORARY TABLE statement defines a temporary table for the current connection.
 * </pre>
 *
 * {@link DB2Dialect} returns a {@link org.hibernate.hql.spi.id.global.GlobalTemporaryTableBulkIdStrategy} that
 * will make temporary tables created at startup and hence unavailable for subsequent connections.<br/>
 * see HHH-10238.
 * </p>
    */
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new LocalTemporaryTableBulkIdStrategy(new IdTableSupportStandardImpl() {
		@Override
		public String generateIdTableName(String baseName) {
			return "session." + super.generateIdTableName( baseName );
		}

		@Override
		public String getCreateIdTableCommand() {
			return "declare global temporary table";
		}

		@Override
		public String getCreateIdTableStatementOptions() {
			return "not logged";
		}
	}, AfterUseAction.CLEAN, null);
}
 
源代码3 项目: lams   文件: H2Dialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new LocalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String getCreateIdTableCommand() {
					return "create cached local temporary table if not exists";
				}

				@Override
				public String getCreateIdTableStatementOptions() {
					// actually 2 different options are specified here:
					//		1) [on commit drop] - says to drop the table on transaction commit
					//		2) [transactional] - says to not perform an implicit commit of any current transaction
					return "on commit drop transactional";					}
			},
			AfterUseAction.CLEAN,
			TempTableDdlTransactionHandling.NONE
	);
}
 
源代码4 项目: lams   文件: MySQLDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new LocalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String getCreateIdTableCommand() {
					return "create temporary table if not exists";
				}

				@Override
				public String getDropIdTableCommand() {
					return "drop temporary table";
				}
			},
			AfterUseAction.DROP,
			TempTableDdlTransactionHandling.NONE
	);
}
 
源代码5 项目: lams   文件: Oracle8iDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new GlobalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String generateIdTableName(String baseName) {
					final String name = super.generateIdTableName( baseName );
					return name.length() > 30 ? name.substring( 0, 30 ) : name;
				}

				@Override
				public String getCreateIdTableCommand() {
					return "create global temporary table";
				}

				@Override
				public String getCreateIdTableStatementOptions() {
					return "on commit delete rows";
				}
			},
			AfterUseAction.CLEAN
	);
}
 
源代码6 项目: lams   文件: PostgreSQL82Dialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new LocalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String getCreateIdTableCommand() {
					return "create temporary  table";
				}

				@Override
				public String getDropIdTableCommand() {
					return "drop table";
				}
			},
			AfterUseAction.DROP,
			null
	);
}
 
源代码7 项目: lams   文件: SAPDBDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new LocalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String generateIdTableName(String baseName) {
					return "temp." + super.generateIdTableName( baseName );
				}

				@Override
				public String getCreateIdTableStatementOptions() {
					return "ignore rollback";
				}
			},
			AfterUseAction.DROP,
			null
	);
}
 
源代码8 项目: lams   文件: InformixDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new LocalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String getCreateIdTableCommand() {
					return "create temp table";
				}

				@Override
				public String getCreateIdTableStatementOptions() {
					return "with no log";
				}
			},
			AfterUseAction.CLEAN,
			null
	);
}
 
源代码9 项目: lams   文件: Oracle9Dialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new GlobalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String generateIdTableName(String baseName) {
					final String name = super.generateIdTableName( baseName );
					return name.length() > 30 ? name.substring( 0, 30 ) : name;
				}

				@Override
				public String getCreateIdTableCommand() {
					return "create global temporary table";
				}

				@Override
				public String getCreateIdTableStatementOptions() {
					return "on commit delete rows";
				}
			},
			AfterUseAction.CLEAN
	);
}
 
源代码10 项目: lams   文件: IngresDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new GlobalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String generateIdTableName(String baseName) {
					return "session." + super.generateIdTableName( baseName );
				}

				@Override
				public String getCreateIdTableCommand() {
					return "declare global temporary table";
				}

				@Override
				public String getCreateIdTableStatementOptions() {
					return "on commit preserve rows with norecovery";
				}
			},
			AfterUseAction.CLEAN
	);
}
 
源代码11 项目: lams   文件: DB2Dialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	// Prior to DB2 9.7, "real" global temporary tables that can be shared between sessions
	// are *not* supported; even though the DB2 command says to declare a "global" temp table
	// Hibernate treats it as a "local" temp table.
	return new LocalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String generateIdTableName(String baseName) {
					return "session." + super.generateIdTableName( baseName );
				}

				@Override
				public String getCreateIdTableCommand() {
					return "declare global temporary table";
				}

				@Override
				public String getCreateIdTableStatementOptions() {
					return "not logged";
				}
			},
			AfterUseAction.DROP,
			null
	);
}
 
源代码12 项目: lams   文件: Cache71Dialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new GlobalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String generateIdTableName(String baseName) {
					final String name = super.generateIdTableName( baseName );
					return name.length() > 25 ? name.substring( 1, 25 ) : name;
				}

				@Override
				public String getCreateIdTableCommand() {
					return "create global temporary table";
				}
			},
			AfterUseAction.DROP
	);
}
 
源代码13 项目: lams   文件: TimesTenDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new GlobalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String generateIdTableName(String baseName) {
					final String name = super.generateIdTableName( baseName );
					return name.length() > 30 ? name.substring( 1, 30 ) : name;
				}

				@Override
				public String getCreateIdTableCommand() {
					return "create global temporary table";
				}

				@Override
				public String getCreateIdTableStatementOptions() {
					return "on commit delete rows";
				}
			},
			AfterUseAction.CLEAN
	);
}
 
源代码14 项目: lams   文件: PostgreSQL81Dialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new LocalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String getCreateIdTableCommand() {
					return "create temporary table";
				}

				@Override
				public String getCreateIdTableStatementOptions() {
					return "on commit drop";
				}
			},
			AfterUseAction.CLEAN,
			null
	);
}
 
源代码15 项目: lams   文件: HANAColumnStoreDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new GlobalTemporaryTableBulkIdStrategy( new IdTableSupportStandardImpl() {

		@Override
		public String getCreateIdTableCommand() {
			return "create global temporary column table";
		}

		@Override
		public String getTruncateIdTableCommand() {
			return "truncate table";
		}

	}, AfterUseAction.CLEAN );
}
 
源代码16 项目: lams   文件: StrategySelectorBuilder.java
private void addMultiTableBulkIdStrategies(StrategySelectorImpl strategySelector) {
	strategySelector.registerStrategyImplementor(
			MultiTableBulkIdStrategy.class,
			PersistentTableBulkIdStrategy.SHORT_NAME,
			PersistentTableBulkIdStrategy.class
	);
	strategySelector.registerStrategyImplementor(
			MultiTableBulkIdStrategy.class,
			GlobalTemporaryTableBulkIdStrategy.SHORT_NAME,
			GlobalTemporaryTableBulkIdStrategy.class
	);
	strategySelector.registerStrategyImplementor(
			MultiTableBulkIdStrategy.class,
			LocalTemporaryTableBulkIdStrategy.SHORT_NAME,
			LocalTemporaryTableBulkIdStrategy.class
	);
}
 
源代码17 项目: quarkus   文件: QuarkusStrategySelectorBuilder.java
private static void addMultiTableBulkIdStrategies(StrategySelectorImpl strategySelector) {
    strategySelector.registerStrategyImplementor(
            MultiTableBulkIdStrategy.class,
            PersistentTableBulkIdStrategy.SHORT_NAME,
            PersistentTableBulkIdStrategy.class);
    strategySelector.registerStrategyImplementor(
            MultiTableBulkIdStrategy.class,
            GlobalTemporaryTableBulkIdStrategy.SHORT_NAME,
            GlobalTemporaryTableBulkIdStrategy.class);
    strategySelector.registerStrategyImplementor(
            MultiTableBulkIdStrategy.class,
            LocalTemporaryTableBulkIdStrategy.SHORT_NAME,
            LocalTemporaryTableBulkIdStrategy.class);
}
 
源代码18 项目: lams   文件: AbstractTransactSQLDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new LocalTemporaryTableBulkIdStrategy(
			new IdTableSupportStandardImpl() {
				@Override
				public String generateIdTableName(String baseName) {
					return "#" + baseName;
				}
			},
			// sql-server, at least needed this dropped after use; strange!
			AfterUseAction.DROP,
			TempTableDdlTransactionHandling.NONE
	);
}
 
源代码19 项目: lams   文件: HANARowStoreDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new GlobalTemporaryTableBulkIdStrategy( new IdTableSupportStandardImpl() {

		@Override
		public String getCreateIdTableCommand() {
			return "create global temporary row table";
		}
	}, AfterUseAction.CLEAN );
}
 
源代码20 项目: lams   文件: MultiTableUpdateExecutor.java
public MultiTableUpdateExecutor(HqlSqlWalker walker) {
	MultiTableBulkIdStrategy strategy = walker.getSessionFactoryHelper()
			.getFactory()
			.getSessionFactoryOptions()
			.getMultiTableBulkIdStrategy();
	this.updateHandler = strategy.buildUpdateHandler( walker.getSessionFactoryHelper().getFactory(), walker );
}
 
源代码21 项目: lams   文件: Settings.java
public MultiTableBulkIdStrategy getMultiTableBulkIdStrategy() {
	return sessionFactoryOptions.getMultiTableBulkIdStrategy();
}
 
源代码22 项目: lams   文件: TeradataDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new GlobalTemporaryTableBulkIdStrategy( this, AfterUseAction.CLEAN );
}
 
源代码23 项目: lams   文件: Dialect.java
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
	return new PersistentTableBulkIdStrategy();
}
 
@Override
public MultiTableBulkIdStrategy getMultiTableBulkIdStrategy() {
	return delegate.getMultiTableBulkIdStrategy();
}
 
@Override
public T applyMultiTableBulkIdStrategy(MultiTableBulkIdStrategy strategy) {
	delegate.applyMultiTableBulkIdStrategy( strategy );
	return getThis();
}
 
源代码26 项目: lams   文件: SessionFactoryOptionsBuilder.java
@Override
public MultiTableBulkIdStrategy getMultiTableBulkIdStrategy() {
	return multiTableBulkIdStrategy;
}
 
源代码27 项目: lams   文件: SessionFactoryOptionsBuilder.java
public void applyMultiTableBulkIdStrategy(MultiTableBulkIdStrategy strategy) {
	this.multiTableBulkIdStrategy = strategy;
}
 
源代码28 项目: lams   文件: SessionFactoryBuilderImpl.java
@Override
public SessionFactoryBuilder applyMultiTableBulkIdStrategy(MultiTableBulkIdStrategy strategy) {
	this.optionsBuilder.applyMultiTableBulkIdStrategy( strategy );
	return this;
}
 
源代码29 项目: lams   文件: MultiTableDeleteExecutor.java
public MultiTableDeleteExecutor(HqlSqlWalker walker) {
	final MultiTableBulkIdStrategy strategy = walker.getSessionFactoryHelper().getFactory().getSessionFactoryOptions()
			.getMultiTableBulkIdStrategy();
	this.deleteHandler = strategy.buildDeleteHandler( walker.getSessionFactoryHelper().getFactory(), walker );
}
 
源代码30 项目: keycloak   文件: DelegatingDialect.java
@Override
public MultiTableBulkIdStrategy getDefaultMultiTableBulkIdStrategy() {
    return getInstance().getDefaultMultiTableBulkIdStrategy();
}
 
 类所在包
 类方法
 同包方法