mirror of
https://codeup.aliyun.com/64f7d6b8ce01efaafef1e678/coal/coal.git
synced 2026-01-25 07:46:40 +08:00
处理hibernate自动建表字段类型
This commit is contained in:
@@ -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<String, Object> 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);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user