下面列出了怎么用org.hibernate.dialect.SQLServer2012Dialect的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* Determine the Hibernate database dialect class for the given target database.
* @param database the target database
* @return the Hibernate database dialect class, or {@code null} if none found
*/
@Nullable
protected Class<?> determineDatabaseDialectClass(Database database) {
switch (database) {
case DB2: return DB2Dialect.class;
case DERBY: return DerbyTenSevenDialect.class;
case H2: return H2Dialect.class;
case HANA: return HANAColumnStoreDialect.class;
case HSQL: return HSQLDialect.class;
case INFORMIX: return InformixDialect.class;
case MYSQL: return MySQL5Dialect.class;
case ORACLE: return Oracle12cDialect.class;
case POSTGRESQL: return PostgreSQL95Dialect.class;
case SQL_SERVER: return SQLServer2012Dialect.class;
case SYBASE: return SybaseDialect.class;
default: return null;
}
}
/**
* Determine the Hibernate database dialect class for the given target database.
* @param database the target database
* @return the Hibernate database dialect class, or {@code null} if none found
*/
@Nullable
protected Class<?> determineDatabaseDialectClass(Database database) {
switch (database) {
case DB2: return DB2Dialect.class;
case DERBY: return DerbyTenSevenDialect.class;
case H2: return H2Dialect.class;
case HANA: return HANAColumnStoreDialect.class;
case HSQL: return HSQLDialect.class;
case INFORMIX: return InformixDialect.class;
case MYSQL: return MySQL5Dialect.class;
case ORACLE: return Oracle12cDialect.class;
case POSTGRESQL: return PostgreSQL95Dialect.class;
case SQL_SERVER: return SQLServer2012Dialect.class;
case SYBASE: return SybaseDialect.class;
default: return null;
}
}
public static Optional<String> guessDialect(Optional<String> dbKind) {
// For now select the latest dialect from the driver
// later, we can keep doing that but also avoid DCE
// of all the dialects we want in so that people can override them
String resolvedDbKind = dbKind.orElse("NO_DATABASE_KIND");
if (DatabaseKind.isDB2(resolvedDbKind)) {
return Optional.of(DB297Dialect.class.getName());
}
if (DatabaseKind.isPostgreSQL(resolvedDbKind)) {
return Optional.of(QuarkusPostgreSQL10Dialect.class.getName());
}
if (DatabaseKind.isH2(resolvedDbKind)) {
return Optional.of(QuarkusH2Dialect.class.getName());
}
if (DatabaseKind.isMariaDB(resolvedDbKind)) {
return Optional.of(MariaDB103Dialect.class.getName());
}
if (DatabaseKind.isMySQL(resolvedDbKind)) {
return Optional.of(MySQL8Dialect.class.getName());
}
if (DatabaseKind.isDerby(resolvedDbKind)) {
return Optional.of(DerbyTenSevenDialect.class.getName());
}
if (DatabaseKind.isMsSQL(resolvedDbKind)) {
return Optional.of(SQLServer2012Dialect.class.getName());
}
String error = dbKind.isPresent()
? "Hibernate extension could not guess the dialect from the database kind '" + resolvedDbKind
+ "'. Add an explicit '" + HIBERNATE_ORM_CONFIG_PREFIX + "dialect' property."
: "Hibernate extension cannot guess the dialect as no database kind is specified by 'quarkus.datasource.db-kind'";
throw new ConfigurationError(error);
}