首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

spring.jpa.hibernate.ddl-auto= create不会在Spring Boot 2.0.0.M2中创建表

在Spring Boot 2.0.0.M2中,配置属性spring.jpa.hibernate.ddl-auto设置为create时,不会自动创建表。

spring.jpa.hibernate.ddl-auto是一个用于配置Hibernate的DDL自动操作的属性。它有以下几个可选值:

  • none:不执行DDL操作。
  • create-only:在启动时创建表,但不会删除已存在的表。
  • create-drop:在启动时创建表,并在关闭时删除表。
  • validate:在启动时验证表的结构是否正确,不会创建或修改表。
  • update:在启动时根据实体类的定义更新表结构,但不会删除已存在的表。

在Spring Boot 2.0.0.M2中,当spring.jpa.hibernate.ddl-auto设置为create时,Hibernate不会自动创建表。这是因为在该版本中,Spring Boot默认使用了一个新的特性,即spring.jpa.defer-datasource-initialization属性,默认值为true。这意味着在应用程序启动时,数据源的初始化会被延迟到容器启动完成后再进行。因此,即使设置了spring.jpa.hibernate.ddl-auto=create,也不会立即创建表。

如果需要在Spring Boot 2.0.0.M2中自动创建表,可以通过以下两种方式实现:

  1. spring.jpa.defer-datasource-initialization属性设置为false,即在应用程序启动时立即初始化数据源。可以在application.propertiesapplication.yml文件中添加以下配置:
代码语言:properties
复制

spring.jpa.defer-datasource-initialization=false

代码语言:txt
复制
代码语言:yaml
复制

spring:

代码语言:txt
复制
 jpa:
代码语言:txt
复制
   defer-datasource-initialization: false
代码语言:txt
复制

这样设置后,再将spring.jpa.hibernate.ddl-auto设置为create,Hibernate会在应用程序启动时创建表。

  1. 使用spring.jpa.properties属性来配置Hibernate的属性。可以在application.propertiesapplication.yml文件中添加以下配置:
代码语言:properties
复制

spring.jpa.properties.hibernate.hbm2ddl.auto=create

代码语言:txt
复制
代码语言:yaml
复制

spring:

代码语言:txt
复制
 jpa:
代码语言:txt
复制
   properties:
代码语言:txt
复制
     hibernate:
代码语言:txt
复制
       hbm2ddl.auto: create
代码语言:txt
复制

这样设置后,Hibernate会在应用程序启动时创建表。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Boot:实现MyBatis动态创建

综合概述 在有些应用场景,我们会有需要动态创建和操作的需求。比如因为单数据存储量太大而采取分存储的情况,又或者是按日期生成日志存储系统日志等等。这个时候就需要我们动态的生成和操作数据库了。...实现案例 先说一下我们要实现的案例,本案例每个用户都会有一个自己日志,其中的user_log_config就是用户名和对应的日志配置,每次往这个添加配置的时候,系统就会根据配置信息给该用户生成一个日志存储...在MySQL数据库新建一个springboot数据库,然后在此数据库执行下面的脚本创建项目相关的。 脚本文件 ?...Boot:快速入门教程 Spring Boot:整合Swagger文档 Spring Boot:整合MyBatis框架 Spring Boot:实现MyBatis分页 Spring Boot:集成Druid...数据源 Spring Boot:实现MyBatis动态数据源 Spring Boot:实现MyBatis动态创建 源码下载 码云:https://gitee.com/liuge1988/spring-boot-demo.git

6.5K30

SpringBoot系列之数据库初始化-jpa配置方式

同样需要将配置设置为 always 使用jpa的配置方式,将ddl-auto设置为create或者create-drop时,会自动搜索@Entity实体对象,并创建为对应的 II....小结 使用Jpa的配置方式,总体来说和前面的介绍的spring.datasource的配置方式差别不大,jpa方式主要是基于@Entity来创建对应的结构,且不会出现再次启动之后重复建导致异常的问题...(注意如上面data.sql的数据插入依然会重复执行,会导致主键插入冲突) 本文中需要重点关注的几个配置: spring.datasource.initialization-mode: always...同样需要设置为always spring.jpa.generate-ddl: true 会根据@Entity注解的实体类生成对应数据 spring.jpa.hibernate.ddl-auto: create.../create-drop 这两个取值时,再创建之后执行import.sql文件导入测试数据;若取值为update,则会执行data.sql 本文作为数据初始化第二篇,推荐与前文对比阅读,收获更多的知识点

1K10

初始化数据库和导入数据

Spring Boot应用的测试一文,我们在StarterRunner类的run(...)方法给数据库添加一些初始数据。...,因此需要关掉Hibernate的自动创建开关,即在application.properties设置spring.jpa.hibernate.ddl-auto = none 运行测试,发现测试可以正常通过...在这个方案我们主要使用以下配置项: spring.jpa.hibernate.ddl-auto=create-drop配置项告诉Hibernate通过@Entity模型的定义自动推断数据库定义并创建合适的...PS:如果程序没有显式配置spring.jpa.hibernate.ddl-auto属性,Spring Boot会给H2这类的嵌入式数据库配置create-drop,因此需要仔细斟酌这个配置项。...schema.sql文件包含创建数据库结构的SQL语句,在应用程序启动过程,需要创建数据库结构时,执行该文件的DDL语句。

1.7K40

spring.jpa.hibernate 配置和源码解析

版本 spring-boot:3.2.2 hibernate:6.4.1.Final 配置项目 DDL模式 生成定义语句修改结构 配置路径:spring.jpa.hibernate.ddl-auto...创建,如果已存在将报错 drop 删除 create 删除后再创建 create-drop 先删除,SessionFactory启动时创建,SessionFactory关闭时再删除 validate 仅校验...update 必要时更新 truncate 清空数据 隐式命名策略 如果没有通过@Table或者@Column等注解显式指定名、列名,将通过隐式命名策略生成对应名称 配置路径: spring.jpa.hibernate.naming.implicit-strategy...重写了关联连接名规则 org.hibernate.boot.model.naming.ImplicitNamingStrategyComponentPathImpl 重写了 AttributePath...获取spring.jpa.hibernate.ddl-auto配置值 if (this.ddlAuto !

10800

Spring Boot,MySQL,JPA,Hibernate Restful CRUD API 教程

新建项目 Spring Boot 给我们提供了一个网页工具 Spring Initializer 来快速创建一个应用。...# Hibernate ddl auto (create, create-drop, validate, update) spring.jpa.hibernate.ddl-auto = update #...Spring Boot使用Hibernate 作为默认的JPA数据库集成。 配置spring.jpa.hibernate.ddl-auto 是用来给数据库初始化的。...我给这个配置使用了值”update” 它能做一下事情: 当你定义了一个模型,会自动被创建,并且会自动创建相关的存储在模型的字段。 任何对于模型的改变都会引起的改变。...例如,你改变了一个字段的类型,或者添加了另一个字段到模型,那么这些改变也将会映射到数据的对应

2K20

Spring Boot (十三): Spring Boot 小技巧

使用 Jpa 在使用 spring boot jpa的情况下设置 spring.jpa.hibernate.ddl-auto的属性设置为 create or create-drop的时候,Spring...data.sql sql-script-encoding: utf-8 jpa: hibernate: ddl-auto: none schema :脚本创建的语句...data :脚本初始化数据的预计 sql-script-encoding:设置脚本的编码 Spring Boot 项目启动的时候会自动执行脚本。...validate :每次加载hibernate时,验证创建数据库结构,只会和数据库进行比较,不会创建,但是会插入新值。5、 none : 什么都不做。...不同点 第一种方式启动的时候 Jpa 会自动创建,import.sql 只负责创建表单后的初始化数据。第二种方式启动的时候不会创建,需要在初始化脚本判断是否存在,再初始化脚本的步骤。

1.2K20

【快学springboot】7.使用Spring Boot Jpa

spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.database-platform主要是指定生成名的存储引擎为...InnoDBD show-sql 是否打印出自动生成的 SQL,方便调试的时候查看 spring.jpa.hibernate.ddl-auto参数的作用主要用于:自动创建更新验证数据库结构,有五个值...create: 每次加载 hibernate 时都会删除上一次的生成的,然后根据你的 model 类再重新来生成新,哪怕两次没有任何改变也要这样执行,这就是导致数据库数据丢失的一个重要原因。...create-drop :每次加载 hibernate 时根据 model 类生成,但是 sessionFactory 一关闭,就自动删除。...validate :每次加载 hibernate 时,验证创建数据库结构,只会和数据库进行比较,不会创建,但是会插入新值。

16110

【快学springboot】7.使用Spring Boot Jpa

spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true 复制代码 spring.jpa.database-platform主要是指定生成名的存储引擎为...InnoDBD show-sql 是否打印出自动生成的 SQL,方便调试的时候查看 spring.jpa.hibernate.ddl-auto参数的作用主要用于:自动创建更新验证数据库结构,有五个值...create: 每次加载 hibernate 时都会删除上一次的生成的,然后根据你的 model 类再重新来生成新,哪怕两次没有任何改变也要这样执行,这就是导致数据库数据丢失的一个重要原因。...create-drop :每次加载 hibernate 时根据 model 类生成,但是 sessionFactory 一关闭,就自动删除。...validate :每次加载 hibernate 时,验证创建数据库结构,只会和数据库进行比较,不会创建,但是会插入新值。

3.3K40

一起来学 SpringBoot 2.x | 第六篇:整合 Spring Data JPA

总的来说,JPA包括以下3方面的技术: ORM映射元数据: 支持XML和注解两种元数据的形式,元数据描述对象和之间的映射关系,框架据此将实体对象持久化到数据库; API: 操作实体对象来执行CRUD...-- Spring JDBC 的依赖包,使用 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa 将会自动获得HikariCP依赖 --> <...=root spring.datasource.username=root #spring.datasource.type # JPA配置 spring.jpa.hibernate.ddl-auto=update...# 输出日志 spring.jpa.show-sql=true # 数据库类型 spring.jpa.database=mysql ddl-auto 几种属性 create: 每次运行程序时,都会重新创建...,故而数据会丢失 create-drop: 每次运行程序时会先创建结构,然后待程序结束时清空 upadte: 每次运行程序,没有时会创建,如果对象发生改变会更新结构,原有数据不会清空,只会更新

1.5K30

一起来学SpringBoot | 第六篇:整合SpringDataJpa

总的来说,JPA包括以下3方面的技术: ORM映射元数据: 支持XML和注解两种元数据的形式,元数据描述对象和之间的映射关系,框架据此将实体对象持久化到数据库; API: 操作实体对象来执行CRUD...-- Spring JDBC 的依赖包,使用 spring-boot-starter-jdbc 或 spring-boot-starter-data-jpa 将会自动获得HikariCP依赖 --> <...=root spring.datasource.username=root #spring.datasource.type # JPA配置 spring.jpa.hibernate.ddl-auto=update...# 输出日志 spring.jpa.show-sql=true # 数据库类型 spring.jpa.database=mysql ddl-auto 几种属性 create: 每次运行程序时,都会重新创建...,故而数据会丢失 create-drop: 每次运行程序时会先创建结构,然后待程序结束时清空 upadte: 每次运行程序,没有时会创建,如果对象发生改变会更新结构,原有数据不会清空,只会更新

1.6K20

springboot(十三):springboot小技巧

使用Jpa 在使用 spring boot jpa的情况下设置 spring.jpa.hibernate.ddl-auto的属性设置为 create or create-drop的时候,spring boot...create-drop :每次加载hibernate时根据model类生成,但是sessionFactory一关闭,就自动删除。...validate :每次加载hibernate时,验证创建数据库结构,只会和数据库进行比较,不会创建,但是会插入新值。 5、 none : 什么都不做。...不同点 第一种方式启动的时候Jpa会自动创建,import.sql只负责创建表单后的初始化数据。第二种方式启动的时候不会创建,需要在初始化脚本判断是否存在,再初始化脚本的步骤。...示例代码:https://github.com/ityouknow/spring-boot-examples

1.2K100
领券