遇到小写加下划线"_" 的命名
spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
添加配置类
表名大写, 字段名小写,下划线分割.
import org.hibernate.boot.model.naming.Identifier;
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;
import org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy;
public class UpperTableStrategy extends SpringPhysicalNamingStrategy {
@Override
public Identifier toPhysicalTableName(Identifier name, JdbcEnvironment context) {
// 将表名全部转换成大写
String tableName = name.getText().toUpperCase();
return Identifier.toIdentifier(tableName);
}
//将字段名转为大写-下划线隔开. 默认小写-下划线
@Override
public Identifier toPhysicalColumnName(Identifier name, JdbcEnvironment jdbcEnvironment) {
Identifier lowerName = super.toPhysicalSchemaName(name, jdbcEnvironment);
String colnumName = lowerName.getText().toUpperCase();
return Identifier.toIdentifier(colnumName);
}
}
application.yml
jpa:
database: mysql
hibernate:
naming:
physical-strategy: com.topsoft.workflow.config.UpperTableStrategy
https://www.cnblogs.com/wanthune/p/11104564.html
本文详细介绍了如何在SpringBoot项目中使用JPA与Hibernate结合,通过自定义命名策略实现数据库表名大写,字段名小写且以下划线分割的命名规范。具体操作包括配置application.yml文件,以及创建继承自SpringPhysicalNamingStrategy的UpperTableStrategy类,覆盖toPhysicalTableName和toPhysicalColumnName方法。

1180

被折叠的 条评论
为什么被折叠?



