JPA不能识别大写表的配置

这几天在做一个关于JPA的项目,发现一个问题,JPA不能识别数据库中大写的表,查了一下发现应该这样配置

//在配置文件中加入这个,暂时还不可以识别大写表,但是列名映射createTime-->create_time
spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy

//如果配置为这个,可以识别表,但是不能将createTime-->create_time
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

//如果需要映射字段,需要添加实现类
public class MySQLUpperCaseStrategy extends SpringPhysicalNamingStrategy {
  private static final long serialVersionUID = 1383021413247872469L;

  @Override
  public Identifier toPhysicalTableName(Identifier name, JdbcEnvironment context) {
     //将小写表名转换为大写表名
      return Identifier.toIdentifier(name.getText().toUpperCase(),name.isQuoted());
  }
}
这样可以实现JPA的映射表功能

希望对大家有所帮助

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容