diff --git a/src/main/java/cn/lihongjie/coal/config/HibernateConfig.java b/src/main/java/cn/lihongjie/coal/config/HibernateConfig.java index f140ed37..01c50073 100644 --- a/src/main/java/cn/lihongjie/coal/config/HibernateConfig.java +++ b/src/main/java/cn/lihongjie/coal/config/HibernateConfig.java @@ -1,43 +1,29 @@ package cn.lihongjie.coal.config; -import org.hibernate.boot.ResourceStreamLocator; import org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy; import org.hibernate.boot.model.naming.Identifier; import org.hibernate.boot.model.naming.PhysicalNamingStrategy; -import org.hibernate.boot.spi.AdditionalMappingContributions; -import org.hibernate.boot.spi.AdditionalMappingContributor; -import org.hibernate.boot.spi.InFlightMetadataCollector; -import org.hibernate.boot.spi.MetadataBuildingContext; -import org.hibernate.dialect.PostgreSQLDialect; +import org.hibernate.cfg.AvailableSettings; import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment; -import org.hibernate.type.SqlTypes; -import org.hibernate.type.descriptor.sql.internal.DdlTypeImpl; +import org.springframework.boot.autoconfigure.orm.jpa.HibernatePropertiesCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import java.util.Map; + @Configuration public class HibernateConfig { @Bean - AdditionalMappingContributor metadataContributor() { - - return new AdditionalMappingContributor() { + HibernatePropertiesCustomizer hibernatePropertiesCustomizer() { + return new HibernatePropertiesCustomizer() { @Override - public void contribute(AdditionalMappingContributions contributions, - InFlightMetadataCollector metadata, - ResourceStreamLocator resourceStreamLocator, - MetadataBuildingContext buildingContext) { - - buildingContext - .getBuildingOptions() - .getTypeConfiguration() - .getDdlTypeRegistry() - .addDescriptor(SqlTypes.VARCHAR, new DdlTypeImpl(SqlTypes.VARCHAR, "text", new PostgreSQLDialect())); - - + public void customize(Map hibernateProperties) { + hibernateProperties.put(AvailableSettings.DIALECT, "cn.lihongjie.coal.config" + ".MyPostgreSQLDialect"); } }; + } @@ -49,9 +35,7 @@ public class HibernateConfig { @Override public Identifier toPhysicalTableName(Identifier logicalName, JdbcEnvironment jdbcEnvironment) { - return super.toPhysicalTableName(new Identifier("t_" + logicalName.getText().replace("Entity", ""), - logicalName.isQuoted()), - jdbcEnvironment); + return super.toPhysicalTableName(new Identifier("t_" + logicalName.getText().replace("Entity", ""), logicalName.isQuoted()), jdbcEnvironment); } };