`

mysql JPA @Table 大写表名不识别问题解决

阅读更多

自定义表或者字段识别机制的前提条件是:springboot本身提供的策略解决不了我们的问题。

 

//在配置文件中加入这个,暂时还不可以识别大写表,但是列名映射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

 

//如果需要映射字段,需要添加实现类

@Slf4j

public class MysqlUpperCaseStrategy extends SpringPhysicalNamingStrategy {

    private static final String JOB_EXECUTION_LOG = "JOB_EXECUTION_LOG";

    @Override

    public Identifier toPhysicalTableName(Identifier name, JdbcEnvironment context) {

        //将小写表名转换为大写表名

        if (name.getText().equals(JOB_EXECUTION_LOG)) {

            return Identifier.toIdentifier(name.getText().toUpperCase(), name.isQuoted());

        } else {

            return super.toPhysicalTableName(name, context);

        }

    }

}

这样可以实现JPA的映射表功能

 

参考:https://www.jianshu.com/p/a2a7c1c26fb3

 

分享到:
评论

相关推荐

    Hibernate JPA

    - **兼容性**:需要注意不同版本间的兼容性问题,避免因版本不匹配导致的问题。 - **配置**:通过`persistence.xml`文件进行配置,指定数据库连接信息、映射关系等参数。例如: ```xml <provider>org....

    spring data jpa 动态更新@DynamicUpdate

    在Java世界中,Spring Data JPA是一个非常流行的框架,它为开发者提供了与关系数据库交互的便利,通过简化JPA(Java Persistence API)的使用。在处理大量数据时,提高性能和效率是至关重要的,这就是`@...

    JPA注解@Access实例

    **JPA注解@Access详解** Java Persistence API (JPA) 是Java中用于对象关系映射(ORM)的标准框架,它允许开发人员将Java类与数据库表进行映射,从而简化数据操作。在JPA中,`@Access`注解是用于指定实体属性访问...

    Spring Boot JPA中使用@Entity和@Table的实现

    Spring Boot JPA 中使用 @Entity 和 @Table 的实现 在 Spring Boot JPA 中,使用 @Entity 和 @Table annotation 来实现类和数据库表格的映射是非常重要的。本文将对这两个 annotation 的实现进行详细的介绍,并且...

    spring hibernate实现动态替换表名(分表)的方法

    Spring Hibernate 实现动态替换表名(分表)的方法 随着数据库的发展,分表操作变得越来越重要。今天,我们将讨论如何使用 Spring Hibernate 实现动态替换表名(分表)。 概述 ---- 在实现动态替换表名时,我们...

    在JPA的@Query注解中使用limit条件(详解)

    这是因为 JPA 不允许在 @Query 注解中使用 Limit 条件。 解决方法 那么,如何在 JPA 的 @Query 注解中使用 Limit 条件呢?解决方法是将 Limit 条件从 @Query 注解中移除,然后将其传递给 `Pageable` 对象。例如: ...

    Hibernate使用JPA注解代码

    `@Table`用于指定一个实体类所对应的数据库表名,而`@Index`则是用来定义表中的索引。在JPA规范中,`indexes()`方法是用来自定义表的索引,返回一个`Index[]`数组,表示表中所有的索引。 异常信息提示`persistence....

    JPA-2 基本注解

    2. **@Table**: 此注解用于指定实体类映射的数据库表名。如果不指定,JPA默认使用类名的复数形式。例如: ```java @Entity @Table(name = "users") public class User { // ... } ``` 3. **@Id**: 这个注解...

    针对MySQL数据库做的JPA的小例子

    **MySQL数据库与JPA简介** MySQL是一款开源、免费的关系型数据库管理系统,广泛应用于Web应用程序,以其高效、稳定和易于管理的特性深受开发者喜爱。Java Persistence API(JPA)是Java平台上的一个标准,用于处理...

    spring整合jpa mysql

    总的来说,Spring整合JPA和MySQL提供了强大的数据持久化解决方案,使得开发者能更专注于业务逻辑,而不是底层数据库操作。通过理解和掌握这些关键技术点,我们可以构建出高效、可维护的Java应用。

    spring data jpa 连接mysql8.x的一些问题梳理总结.docx

    在使用 Spring Data JPA 连接 MySQL 8.x 时,可能会遇到 MySQL 服务启动不了的问题。解决这个问题的关键是配置环境变量。在 Windows 系统中,可以通过设置环境变量来解决这个问题。在 Mac 系统中,可以根据 ...

    jboss、eclipse的jpa连接mysql不成熟的例子

    在本例中,标题提到的"jboss、eclipse的jpa连接mysql不成熟的例子"可能指的是在尝试配置Eclipse开发环境,使用JPA与JBoss应用服务器连接MySQL数据库时遇到了问题。Eclipse是一个强大的Java集成开发环境,提供了对JPA...

    java程序使用JPA注解详解.doc

    Java 程序使用 JPA 注解详解 Java 持久层 API(Java Persistence API)是一种 Java 应用程序接口,用于访问、管理和持久化数据之间的关系。JPA 使用注解来定义实体类与数据库表之间的映射关系,本文将详细介绍 JPA ...

    jpa操作mysql数据库

    需要使用`@Entity`注解标记实体类,并使用`@Table`注解指定对应的表名。 3. **主键(Primary Key)**:每个实体类通常都有一个主键字段,用`@Id`注解标记。如果需要自动生成主键,可以使用`@GeneratedValue`注解...

    springboot mysql jpa 代码

    在本实践教程中,我们将深入探讨如何在Spring Boot框架中集成MySQL数据库并使用Java Persistence API (JPA) 进行数据操作。Spring Boot简化了Java应用程序的开发过程,而JPA作为ORM(对象关系映射)框架,允许我们用...

    使用Spring Data Jpa为我们提供的@EntityGraph.docx

    为了解决这个问题,JPA提供了@EntityGraph注解,配合Spring Data JPA使用,能够帮助我们优化查询性能,避免N+1问题。 `@EntityGraph`和`@NamedEntityGraph`是JPA提供的两个注解,用于定义和引用实体图。实体图是一...

    jpa独立程序+jpa的jar包+mysql驱动

    "jpa独立程序+jpa的jar包+mysql驱动" 这个标题表明,提供的压缩包包含了一个使用Java Persistence API (JPA) 编写的独立应用程序,以及运行该程序所需的JPA库(可能包括Hibernate实现)和MySQL数据库的驱动程序。...

    JPA+MySQL完整实例

    在使用JPA与MySQL结合时,首先需要配置JPA的持久化单元(Persistence Unit),这通常在`persistence.xml`文件中完成,包括指定数据源、提供者的类型(如Hibernate)、实体类的列表等。然后,创建数据库`jpa`,确保其...

    使用JPA中@Query 注解实现update 操作方法(必看)

    在Java Persistence API (JPA)中,`@Query`注解是用于自定义查询的一种方式,它可以让我们在Repository接口中直接编写SQL...这种方法提供了更高的灵活性,允许开发者根据需求定制查询,而不受限于JPA提供的默认操作。

Global site tag (gtag.js) - Google Analytics