jpa設置創表的引擎

默認創表引擎爲MyISAM

首先建立一個springboot 工程, 編寫一個實體類spring

@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命令查看創表語句數據庫

clipboard.png
默認引擎爲MyISAMspringboot

修改數據庫引擎爲InnoDB

過期的方法

經過配置文件, 添加以下配置ide

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

經過查看MySQL5InnoDBDialect源代碼發現起繼承了MySQL5Dialect類並重寫了getDefaultMySQLStorageEngine()方法this

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

該方法了一個InnoDBStorageEngine的實例, 從名字上就能看出端倪.spa

clipboard.png

源碼中建議的方法

可是
MySQL5InnoDBDialect這個類已通過時了, 從該類的源代碼註釋中能夠看到這麼一句註釋hibernate

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

可是我設置了以後卻並無生效, 有成功的朋友能夠告訴我一下方法!code

相關文章
相關標籤/搜索