码迷,mamicode.com
首页 > 其他好文 > 详细

JPA 表名大小写问题

时间:2020-03-14 00:50:48      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:com   jimmy   xtend   nic   password   extend   standard   添加   ica   

JPA 默认会将实体中的 TABLE_NAME 转成小写如

@Entity
@Table(name = "EMPLOYEE")
public class Employee {

    @Id
    private String id;

会报:java.sql.SQLSyntaxErrorException: Table ‘mysql.employee‘ doesn‘t exist 表名已经被转成了小写

可以添加一个策略解决此问题

package com.iron.config;

import org.hibernate.boot.model.naming.Identifier;
import org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl;
import org.hibernate.engine.jdbc.env.spi.JdbcEnvironment;

/**
 * Created by Jimmy on 2020/3/13.
 */
public class UpperTableStrategy extends PhysicalNamingStrategyStandardImpl {

    private static final long serialVersionUID = 1383021413247872469L;


    @Override
    public Identifier toPhysicalTableName(Identifier name, JdbcEnvironment context) {
        // 将表名全部转换成大写
        String tableName = name.getText().toUpperCase();

        return name.toIdentifier(tableName);
    }
}

application.yml 配置文件中添加相应的配置,启用上面的策略

server:
  port: 8081
spring:
  jpa:
    show-sql: true
    hibernate:
      naming:
        physical-strategy: com.iron.config.UpperTableStrategy
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://172.17.127.53:3306/mysql?Unicode=true&characterEncoding=UTF-8
    username: root
    password: 123

 

JPA 表名大小写问题

标签:com   jimmy   xtend   nic   password   extend   standard   添加   ica   

原文地址:https://www.cnblogs.com/vipsoft/p/12490033.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!