今天在使用SpringBoot整合Hibernate后创建表,表名为小写,而在linux下,mysql的表名是区分大小写的,因此在我的数据表中,就出现了两个一样的表

act_id_user 和  ACT_ID_USER

本来为设置了注解的表名是大写的

@Table(name="ACT_ID_USER")

经过查询资料发现,修改/etc/my.cnf的配置,使得mysql不区分大小写是无效的

最后发现,我们可以在 application.properties里面添加如下内容即可

spring.jpa.hibernate.naming.physical-strategy = cn.studyBoot.dao.strategy.UpperTableStrategy

UpperTableStrategy类的内容如下

import org.hibernate.boot.model.naming.Identifier;
import org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl;
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;public class UpperTableStrategy extends PhysicalNamingStrategyStandardImpl {/****/private static final long serialVersionUID = 1L;@Overridepublic Identifier toPhysicalTableName(Identifier name, JdbcEnvironment context) {// 将表名全部转换成大写String tableName = name.getText().toUpperCase();return name.toIdentifier(tableName);}@Overridepublic Identifier toPhysicalColumnName(Identifier name, JdbcEnvironment context) {String colnumName = name.getText().toUpperCase();return name.toIdentifier(colnumName);}
}

需要注意的是,如果您的hibernate版本不是大于5.0

那么配置里的内容应该是

spring.jpa.hibernate.naming-strategy=cn.studyBoot.dao.strategy.UpperTableStrategy

同时UpperTableStrategy这个类继承的是ImprovedNamingStrategy,并且重写相应的方法即可

如果您觉得本文章对您有用,也为了更好的运营博客,您可以点击这里捐助

未经允许不得转载:【java爱好者】博客 » Spring Boot Jpa 表名小写转大写

转载于:https://www.cnblogs.com/jpfss/p/10894495.html

Spring Boot Jpa 表名小写转大写相关推荐

  1. oracle批量把小写转换成大写,oracle数据库批量将表名小写转大写

    ORACLE10g数据库,Sqlserver通过DTS导出数据到ORACLE后.查询表数据时输入: select * from "表名" ; 查询数据执行正常. 如果输入:sele ...

  2. Spring Boot + JPA +MySQL 数据操作及示例环境搭建(自动建表)

    JPA 是Java官方提供的数据持久的统一API , 是一个接口标准,并没有具体实现. JPA的实现常见的有: Hibernate TopLink (Eclipse Link) Spring Boot ...

  3. Spring Boot JPA中关联表的使用

    文章目录 添加依赖 构建Entity 构建Repository 构建初始数据 测试 Spring Boot JPA中关联表的使用 本文中,我们会将会通过一个Book和Category的关联关系,来讲解 ...

  4. Spring Boot Jpa 配置多个数据源,并读取其中一个表的具体数据

    总体简介: Spring Boot Jpa配置多个数据源(此次两个mysql数据库),访问其中一个库 alime_counsel_assign_log下的assign_data_backflow表,实 ...

  5. (转)Spring Boot(五):Spring Boot Jpa 的使用

    http://www.ityouknow.com/springboot/2016/08/20/spring-boot-jpa.html 在上篇文章Spring Boot(二):Web 综合开发中简单介 ...

  6. Spring Boot JPA实体类idea自动生成 其一-https://www.jianshu.com/p/44bb7e25f5c7

    Spring Boot JPA实体类idea自动生成 其一 marioplus12 2018.09.17 19:29* 字数 138 阅读 762评论 0喜欢 2 view -> Tool Wi ...

  7. Spring Boot JPA 2.7.2

    icon: edit date: 2022-01-02 category: CategoryA tag: tag A tag B star: true Spring Boot JPA 2.7.2 项目 ...

  8. 使用Spring Boot JPA Specification实现使用JSON数据来查询实体数据

    文章目录 使用Spring Boot JPA Specification实现使用JSON数据来查询实体数据 需求概要 JSON 结构的设计 使用策略模式执行不同的查询条件 构造查询条件 主逻辑具体的代 ...

  9. Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增删改查示例

    <p>这篇文章介绍如何使用 Jpa 和 Thymeleaf 做一个增删改查的示例.</p> 先和大家聊聊我为什么喜欢写这种脚手架的项目,在我学习一门新技术的时候,总是想快速的搭 ...

最新文章

  1. C++中的封装、继承、多态
  2. vue @click 绑定多个方法 执行顺序_Vue干货,学完这些就够用了
  3. 【高并发】又一个朋友面试栽在了Thread类的stop()方法和interrupt()方法上!
  4. jdbc oracle thin@localhost 1521 XE
  5. Visual Studio Code连接SQL SERVER 2019
  6. c#使用Stopwatch来计算时间间隔
  7. java mset_Java 反射机制(包括组成、结构、示例说明等内容)
  8. JavaScript——文档对象模型
  9. python写负数_python 负数
  10. java mkdir()和mkdirs()区别
  11. 哪些手机支持双wifi?
  12. 《You can do it!》的chapter 2笔记
  13. CNN 解析 --唐宇迪
  14. 浙江省乡村快递寄件数据分析-快递100百递指数
  15. [ecshop 资料] ecshop 手机 自动识别 ua 自动跳转到手机版本 miqinew ecmoban
  16. 特斯拉召回43万辆国产车/ 苹果头显最早明年发布/ 网易将在暴雪游戏停运后退款… 今日更多新鲜事在此...
  17. progisp下载时报错Chip Enable Program Error 后续解决
  18. 鸿蒙系统是手机系统还是电脑系统,鸿蒙系统能兼容手机电脑和智能设备,这是怎样实现的?...
  19. 1.30.Flink SQL案例将Kafka数据写入hive
  20. w7电脑组件服务器,W7电脑系统电脑如何配置Web服务器

热门文章

  1. nuxt3:nitro devProxy(本地代理)
  2. 查询供应商姓孙的MySQL_SQL考试卷与答案1(附加对分组查询的个人理解)
  3. Eclipse代码配色方案设置
  4. 创成汇:创新创业人才政策如何申报?
  5. 华为P60屏幕怎么样?华为P60可以防水吗?华为P60是双卡双待吗
  6. arm9260 linux编译,七,为SAM9260编译ARM-LINUX内核
  7. 什么是Java面向对象(实例详解)
  8. homebrew 安装软件 下载失败
  9. 42 张图带你揭秘后端技术都要学啥?
  10. RabbitMQ死信队列管理