详解spring.jpa.hibernate.ddl-auto属性

目录

  • 该属性的属性值及其说明
  • 该属性的默认值
  • 应用场景
  • 参考链接

当我们在使用Spring Data JPA时,通常会在配置文件 application.properties中指定数据库的初始化模式。此时需要用到 spring.jpa.hibernate.ddl-auto属性,下面对该属性进行详细解释。

该属性的属性值及其说明

属性值 说明
none 不指定数据库初始化模式
create 当Spring Boot应用运行时,会删除并重新创建数据库。所以每次启动时,所有的数据都会被清空
create-drop 当sessionFactory关闭,表会自动删除
validate 在Spring Boot应用运行时,会检查数据库中的表与java实体类是否匹配。如果不匹配,则运行失败
update 当在java实体类中新增了一个字段,在应用重新运行时,会将字段添加到数据库表中的新列,但不会移除先前存在的列或约束

该属性的默认值

当数据库是嵌入式数据库时,Spring Boot会指定该属性默认值为create-drop;当不是嵌入式数据库时,Spring Boot指定该属性的默认值为none

应用场景

在开发阶段中,通常使用update,但需要注意,update不会移除先前已经存在的列和约束,即使是不再需要的。
当产品发布的时候,建议使用none或直接不指定该属性。

参考链接

How does spring.jpa.hibernate.ddl-auto property exactly work in Spring?
Spring Boot Database Initialization

你可能感兴趣的:(Spring,Boot学习笔记,hibernate,spring,spring,boot)