qq_37916181 2019-09-18 16:28 采纳率: 0%
浏览 273
已采纳

spring Data Jpa 项目发布linux sql大写 报错问题

spring Data Jpa 项目 本地windows开发 正常 发布到linux之后报找不到表错误 原因是hibernate将表名大写了 请问这个怎么解决

已找到问题 不是hibernate的 是mysql没设置不区分大小写
在my.ini或者my.cnf 下设置lower_case_table_names=1 就好了

  • 写回答

1条回答 默认 最新

  • 乐古 2019-09-18 16:56
    关注

    Hibernate注释下的自定义架构实现
    扩展org.hibernate.cfg.ImprovedNamingStrategy 命名策略,然后在配置文件中指向自己的命名配置文件即可

    public class MPSNamingStrategy extends ImprovedNamingStrategy {
    
    /**
    *
    */
    private static final long serialVersionUID = 1L;
    
    @Override
    public String columnName(String columnName) {
    
    return addUnderscores(columnName).toUpperCase();
    }
    
    @Override
    public String tableName(String tableName) {
    
    return addUnderscores(tableName).toUpperCase();
    }
    
    @Override
    public String propertyToColumnName(String propertyName) {
    
    return addUnderscores(propertyName).toUpperCase();
    }
    
    
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?