资讯专栏INFORMATION COLUMN

jpa设置创表的引擎

zxhaaa / 1317人阅读

摘要:默认创表引擎为首先创建一个工程编写一个实体类数据库生成了对应的表通过命令查看创表语句默认引擎为修改数据库引擎为过时的方法通过配置文件添加如下配置通过查看源代码发现起继承了类并重写了方法该方法了一个的实例从名字上就能看出端倪源码中建议的方法

默认创表引擎为MyISAM

首先创建一个springboot 工程, 编写一个实体类

@Data
@Entity
public class Employee {
    @Id
    private Integer id;
    private String name;
    private Long salary;

    public Employee() {
    }

    public Employee(Integer id) {
        this.id = id;
    }
}

数据库生成了对应的employee表, 通过show create命令查看创表语句


默认引擎为MyISAM

修改数据库引擎为InnoDB 过时的方法

通过配置文件, 添加如下配置

spring:
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect

通过查看MySQL5InnoDBDialect源代码发现起继承了MySQL5Dialect类并重写了getDefaultMySQLStorageEngine()方法

    @Override
    protected MySQLStorageEngine getDefaultMySQLStorageEngine() {
        return InnoDBStorageEngine.INSTANCE;
    }

该方法了一个InnoDBStorageEngine的实例, 从名字上就能看出端倪.

源码中建议的方法

但是
MySQL5InnoDBDialect这个类已经过时了, 从该类的源代码注释中可以看到这么一句注释

Use "hibernate.dialect.storage_engine=innodb" environment variable or JVM system property instead.

但是我设置了之后却并没有生效, 有成功的朋友可以告诉我一下方法!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76595.html

相关文章

  • JPA关系映射

    摘要:关系映射四种映射关系在关系数据库中有表与表存在下面几种关系多对一关系一对一关系一对多关系多对多关系也对应这中四种映射关系单值串联从一个实体实例关联到另一个实体实例上其中目标基数为成为单值关联多对一关系和一对一关系都是属于这 JPA关系映射 四种映射关系 在关系数据库中, 有表与表存在下面几种关系 多对一关系(Many-to-One) 一对一关系(One-to-One) 一对多关系(O...

    Faremax 评论0 收藏0
  • Spring Data JPA 自动生成表结构

    摘要:想在部署的时候随应用的启动而初始化数据脚本,这不就是中的自动生成表结构,听起来特别简单,不就是配置的嘛,有什么好说的,是个人都知道。 想在部署的时候随应用的启动而初始化数据脚本,这不就是Spring Data Jpa中的自动生成表结构,听起来特别简单,不就是配置Hibernate的ddl-auto嘛,有什么好说的,是个人都知道。当初我也是这样认为,实际操作了一把,虽然表是创建成功了,但...

    lewif 评论0 收藏0
  • JPA的多表复杂查询

    摘要:我将举几个栗子,来详细的说一下我自己在使用多表复杂查询的场景和想法。名字手机号这是一个单表的多条件复杂查询,由于是在几个属性中进行筛选,其中的属性的个数不知道有多少个,所以只需要利用查询就可以很方便的实现这个需求。 最近工作中由于要求只能用hibernate+jpa 与数据库进行交互,在简单查询中,jpa继承CrudRepository接口 ,然后利用jpa的方法命名规范进行jpql查...

    chaos_G 评论0 收藏0
  • SpringBoot2.0之三 优雅整合Spring Data JPA

    摘要:的配置后在其他低版本的中也有使用这种配置的,具体根据版本而定。等注解是的相关知识,后面的文章将详细讲述。   在我们的实际开发的过程中,无论多复杂的业务逻辑到达持久层都回归到了增删改查的基本操作,可能会存在关联多张表的复杂sql,但是对于单表的增删改查也是不可避免的,大多数开发人员对于这个简单而繁琐的操作都比较烦恼。   为了解决这种大量枯燥的简单数据库操作,大致的解决该问题的有三种方...

    ningwang 评论0 收藏0

发表评论

0条评论

zxhaaa

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<