美文网首页java专题Java学习笔记
JPA不能识别大写表的配置

JPA不能识别大写表的配置

作者: H_Man | 来源:发表于2017-06-23 12:01 被阅读101次

    这几天在做一个关于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的映射表功能
    

    希望对大家有所帮助

    相关文章

      网友评论

        本文标题:JPA不能识别大写表的配置

        本文链接:https://www.haomeiwen.com/subject/nfhccxtx.html