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

Spring-boot不会在h2 - JPA/Hibernate中创建表

Spring Boot是一个开源的Java开发框架,用于快速构建独立的、可执行的、生产级别的Spring应用程序。它提供了一种简化的方式来配置和部署Spring应用程序,同时集成了许多常用的开发工具和库。

h2是一个内存数据库,它是一个轻量级的、嵌入式的数据库引擎,适用于开发和测试环境。JPA(Java Persistence API)是Java EE的一种规范,用于将Java对象映射到关系数据库中。Hibernate是JPA的一个实现,它提供了对象关系映射(ORM)功能,简化了数据库操作。

在Spring Boot中使用h2和JPA/Hibernate时,默认情况下不会自动创建表。这是因为Spring Boot遵循“约定优于配置”的原则,它假设开发者已经有了数据库表的定义,并且不希望在每次应用程序启动时都重新创建表。

如果需要在h2中使用JPA/Hibernate创建表,可以通过在application.properties或application.yml配置文件中添加以下属性来实现:

代码语言:txt
复制
spring.jpa.hibernate.ddl-auto=create

这将告诉Hibernate在应用程序启动时根据实体类的定义自动创建表。请注意,这只适用于开发和测试环境,不建议在生产环境中使用。

关于h2、JPA/Hibernate和Spring Boot的更多信息,您可以参考以下链接:

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

相关·内容

Spring Boot 面试题

问题二十四 JPAHibernate 有哪些区别?...简而言之 JPA 是一个规范或者接口 HibernateJPA 的一个实现 当我们使用 JPA 的时候,我们使用 javax.persistence 包的注释和接口时,不需要使用 hibernate...我们建议使用 JPA 注释,因为哦我们没有将其绑定到 Hibernate 作为实现。后来(我知道 - 小于百分之一的几率),我们可以使用另一种 JPA 实现。...,我们解释了如何连接一个你所选择的数据库。 问题二十七 如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现? 因为 Spring Boot 是自动配置的。...当 Spring Boot 在类路径检测到 Hibernate ,将会自动配置它为默认的 JPA 实现。 问题二十八 指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?

1.4K10

Spring Boot 面试题精华

问题二十三 JPAHibernate 有哪些区别?...简而言之 JPA 是一个规范或者接口 HibernateJPA 的一个实现 当我们使用 JPA 的时候,我们使用 javax.persistence 包的注释和接口时,不需要使用 hibernate...,我们解释了如何连接一个你所选择的数据库。 问题二十六 如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现? 因为 Spring Boot 是自动配置的。...下面是我们添加的依赖项 spring-boot-stater-data-jpa 对于 HibernateJPA 有过渡依赖性。...当 Spring Boot 在类路径检测到 Hibernate ,将会自动配置它为默认的 JPA 实现。 问题二十七 指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?

16.3K40
  • Spring Boot with Mysql

    1.建立数据库连接(database connection) 在上篇文章我们新建了一个Spring Boot应用程序,添加了jdbc和data-jpa等starters,以及一个h2数据库依赖,这里我们将配置一个...依靠Entity类自动创建数据库和数据,则还需要加上配置项——spring.jpa.hibernate.ddl-auto=create-drop。...PS:在生产环境不要使用create-drop,这样会在程序启动时先删除旧的,再自动创建新的,最好使用update;还可以通过设置spring.jpa.show-sql = true来显示自动创建的...会提供对应的SQL查询,例如,在本例的BookRepository可以增加findBookByIsbn(String isbn)函数,JPA会自动创建对应的SQL查询——根据isbn查询图书,这种将方法名转换为...最后,我们利用mvn spring-boot:run运行应用程序,观察下Hibernate是如何建立数据库连接,如何检测数据是否存在以及如何自动创建的过程。 ?

    3.6K20

    面试必问的40个SpringBoot面试题!需要的拿走SpringBoot面试题【建议收藏】

    ** **29、在 Spring Initializer ,如何改变一个项目的包名字?** **30、JPAHibernate 有哪些区别?...** **31、使用 Spring Boot 启动连接到内存数据库 H2JPA 应用程序需要哪些依赖项?** **32、如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?...30、JPAHibernate 有哪些区别?...简而言之 JPA 是一个规范或者接口 HibernateJPA 的一个实现 当我们使用 JPA 的时候,我们使用 javax.persistence 包的注释和接口时,不需要使用 hibernate...当 Spring Boot 在类路径检测到 Hibernate ,将会自动配置它为默认的 JPA 实现。 33、我们如何连接一个像 MySQL 或者Orcale 一样的外部数据库?

    9.2K31

    精选的Spring Boot 面试题,帮你整理好了!

    30 JPAHibernate 有哪些区别?...简而言之 JPA 是一个规范或者接口 HibernateJPA 的一个实现 当我们使用 JPA 的时候,我们使用 javax.persistence 包的注释和接口时,不需要使用 hibernate...在 Spring Boot 项目中,当你确保下面的依赖项都在类路里面的时候,你可以加载 H2 控制台。 web 启动器 h2 jpa 数据启动器 其它的依赖项在下面: ?...,我们解释了如何连接一个你所选择的数据库。 32 如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现? 因为 Spring Boot 是自动配置的。...当 Spring Boot 在类路径检测到 Hibernate ,将会自动配置它为默认的 JPA 实现。 33 我们如何连接一个像 MySQL 或者Orcale 一样的外部数据库?

    3.6K30

    SpringBoot ( 二 ) :web 综合开发

    =update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.show-sql...= true 其实这个hibernate.hbm2ddl.auto参数的作用主要用于:自动创建|更新|验证数据库结构,有四个值: create: 每次加载hibernate时都会删除上一次的生成的,...update:最常用的属性,第一次加载hibernate时根据model类会自动建立起的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新结构,即使结构改变了但的行仍然存在不会删除以前的行...validate :每次加载hibernate时,验证创建数据库结构,只会和数据库进行比较,不会创建,但是会插入新值。...从根本上颠覆了这一过程,通过属性进行模板渲染不会引入任何新的浏览器不能识别的标签,例如JSP的,不会在Tag内部写表达式。

    99430

    微服务架构之Spring Boot(四十四)

    30.3.3创建和删除JPA数据库 默认情况下,仅当您使用嵌入式数据库(H2,HSQL或Derby)时,才会自动创建JPA数据库。您可以使用 spring.jpa.* 属性显式配置JPA设 置。...例如,要创建和删除,可以将以下行添加到 application.properties : spring.jpa.hibernate.ddl-auto=create-drop Hibernate自己的内部属性名称...您可以使 用 spring.jpa.properties.* (在将它们添加到实体管理器之前删除前缀)来设置它以及其他Hibernate本机属性。...以下行显示 了为Hibernate设置JPA属性的示例: spring.jpa.properties.hibernate.globally_quoted_identifiers=true 前面示例的行将...如果您不想要此行为,则应在 application.properties 将 spring.jpa.open-in-view 设置为 false 。

    1.3K20

    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 !

    23200

    SpringBoot(二)Web整合开发

    =update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.show-sql...= true 其实这个hibernate.hbm2ddl.auto参数的作用主要用于:自动创建|更新|验证数据库结构,有四个值: create: 每次加载hibernate时都会删除上一次的生成的...update:最常用的属性,第一次加载hibernate时根据model类会自动建立起的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新结构,即使结构改变了但的行仍然存在不会删除以前的行...validate :每次加载hibernate时,验证创建数据库结构,只会和数据库进行比较,不会创建,但是会插入新值。...从根本上颠覆了这一过程,通过属性进行模板渲染不会引入任何新的浏览器不能识别的标签,例如JSP的,不会在Tag内部写表达式。

    1.3K70

    springboot(二):web综合开发

    =update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.show-sql...= true 其实这个hibernate.hbm2ddl.auto参数的作用主要用于:自动创建|更新|验证数据库结构,有四个值: create: 每次加载hibernate时都会删除上一次的生成的...update:最常用的属性,第一次加载hibernate时根据model类会自动建立起的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新结构,即使结构改变了但的行仍然存在不会删除以前的行...validate :每次加载hibernate时,验证创建数据库结构,只会和数据库进行比较,不会创建,但是会插入新值。...从根本上颠覆了这一过程,通过属性进行模板渲染不会引入任何新的浏览器不能识别的标签,例如JSP的,不会在Tag内部写表达式。

    1.4K60

    Spring Boot-web开发详解

    =update spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.show-sql...= true | 其实这个 hibernate.hbm2ddl.auto 参数的作用主要用于:自动创建 | 更新 | 验证数据库结构,有四个值: | create: 每次加载 hibernate...create-drop :每次加载 hibernate 时根据 model 类生成,但是 sessionFactory 一关闭,就自动删除。...update:最常用的属性,第一次加载 hibernate 时根据 model 类会自动建立起的结构(前提是先建立好数据库),以后加载 hibernate 时根据 model 类自动更新结构,即使结构改变了但的行仍然存在不会删除以前的行...validate :每次加载 hibernate 时,验证创建数据库结构,只会和数据库进行比较,不会创建,但是会插入新值。

    1.5K40

    掌握Spring Boot数据库集成:用JPAHibernate构建高效数据交互与版本控制

    Spring Boot与JPA/Hibernate简介 JPA(Java Persistence API) 是Java的官方持久化规范,它定义了如何将Java对象与关系型数据库的数据进行映射和交互。...强大的持久化能力:JPA通过注解或XML将Java对象持久化到关系型数据库。 透明化的数据操作:开发者只需处理对象,JPA会自动将其映射到数据库。 2....首先,通过在Maven的pom.xml添加spring-boot-starter-data-jpa依赖项,就可以获得JPAHibernate的功能。...构建实体类与Repository  在JPA,实体类是用来映射数据库的Java类。每个实体类对应数据库的一张,类的字段对应的列。...索引优化:在设计数据库结构时,合理创建索引可以显著提升查询速度。 8. 总结 Spring Boot与JPA/Hibernate的集成,使得数据库操作变得非常高效且简洁。

    13610
    领券