jpa mysql大小写_当JPA遇上MySQL表名全大写+全小写+驼峰+匈牙利四风格

当使用JPA在MySQL上遇到表名大小写问题时,由于MySQL在Linux上对大小写敏感,导致表不存在的错误。文章介绍了问题的产生,并提供了两种解决方案:1. 修改Spring Boot配置文件,设置无修改命名策略;2. 自定义命名策略,将表名转换为大写。此外,还分享了一个特殊场景,即数据库中混合了多种命名风格,作者选择自定义策略以应对复杂情况。
摘要由CSDN通过智能技术生成

我一直知道的MySQL在Linux上有字段名表名等的大小写问题,于是为了避免这个问题,选择了下划线和全小写,心说虽然咱用的是JPA,只要使用注解写清楚表名和字段名是大写的,不也没事么。例如这样

09b08ac312979b128b6dd23655a0f784.png

实际上证明,想象比搬砖生活丰富的多。亲们,我用JPA实现查表操作的时候,Exception跳出来说表不存在,因为表名是全小写的,我还能怎样┑( ̄Д  ̄)┍。接下来,折腾才刚刚开始……不妨看下日志,内心异常的沉重

2019-09-24 17:31:16.407 ERROR 25864 --- [ XNIO-2 task-1] o.h.engine.jdbc.spi.SqlExceptionHelper : (conn=348) Table '4a.t_assets_mgr' doesn't exist

2019-09-24 17:31:16.420 ERROR 25864 --- [ XNIO-2 task-1] c.s.xxxx.aop.logging.LoggingAspect : Exception in com.xxx.yyyy.service.StaticQuadraa.initLevel() with cause = 'org.hibernate.exception.SQLGrammarException: could not extract ResultSet' and exception = 'could not extract ResultSet; SQL [n/a]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值