spring.jpa.hibernate.ddl-auto的配置

这篇具有很好参考价值的文章主要介绍了spring.jpa.hibernate.ddl-auto的配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

spring.jpa.hibernate.ddl-auto 可以显式设置 spring.jpa.hibernate.ddl-auto ,
标准的Hibernate属性值有 none , validate , update , create , create-drop。
Spring Boot 会根据数据库是否是内嵌类型,选择一个默认值。具体的关系见下图:

内嵌类型 数据库名称 默认值
内嵌 hsqldb, h2, derby create-drop
非内嵌 其他数据库 none

spring.jpa.hibernate.ddl-auto的四个属性的含义见下表:

属性值 作用
create 每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。
create-drop 每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。
update 最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会。
validate 每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。

此外,启动时处于classpath根目录下的 import.sql文件会被执行(前提是ddl-auto属性被设置为 create 或create-drop)。这在demos或测试时很有用,但在生产环境中可能不期望这样。这是Hibernate的特性,和Spring没有一点关系。文章来源地址https://www.toymoban.com/news/detail-509463.html

到了这里,关于spring.jpa.hibernate.ddl-auto的配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring boot下基于spring data jpa配置mysql+达梦多数据源(以不同包路径方式,mysql为主数据源)

    :mysql 达梦/dameng jpa 多数据源 spring boot:2.1.17.RELEASE mysql驱动:8.0.21(跟随boot版本) 达梦驱动:8.1.2.192 lombok:1.18.12(跟随boot版本) 以mysql为主数据源,达梦为第二数据源方式配置 适用于旧项目二次开发接入达梦数据库或基于通用二方/三方包做业务扩展等场景 将以不

    2024年02月05日
    浏览(61)
  • Hibernate(Spring Data)抓取策略

    本文将深入讨论Hibernate中的抓取策略,介绍不同类型的抓取策略以及它们的使用场景和注意事项。 即时加载是指在查询主实体时立即加载相关联的实体对象。这种策略会在查询时一次性加载所有关联的实体对象,可以减少数据库查询次数。 延迟加载是指在访问关联属性时才

    2024年02月10日
    浏览(64)
  • Spring Boot中的Hibernate是什么,如何使用

    Hibernate是一个流行的Java ORM框架,它提供了一种将Java对象映射到关系数据库表的方法。Spring Boot集成了Hibernate,使得在开发Web应用程序时可以轻松地使用Hibernate操作数据库。本文将介绍Spring Boot中的Hibernate是什么以及如何使用。 Hibernate是一个流行的Java ORM框架,它提供了一种将

    2024年02月13日
    浏览(50)
  • 从零开始 Spring Boot 63:Hibernate 继承映射

    图源:简书 (jianshu.com) 关系型数据库设计中是不存在继承概念的,但实体类可以用继承来组织代码结构,所以需要用一种方式将实体类的继承结构映射到表结构。 本文将介绍几种在 JPA(Hibernate)中映射实体类继承层次的方式。 第一种方式是用 @MappedSuperclass 标记超类(Super

    2024年02月12日
    浏览(49)
  • Hibernate 配置文件(hibernate.cfg.xml、hbm.xml)

      目录 Hibernate.xml  1、数据库的基本信息。 2、集成 C3P0,设置数据库连接池信息。 3、Hibernate 基本信息。  4、注册实体关系映射文件。  实体关系映射文件 (实体类文件名.hbm.xml) 1、hibernate-mapping标签的属性 2、class标签的属性  2.1、dynamic-insert:动态添加 (默认为false)

    2023年04月08日
    浏览(40)
  • 从零开始 Spring Boot 49:Hibernate Entity Lifecycle

    图源:简书 (jianshu.com) 本文将介绍 Hibernate 的 Session 接口,以及如何用 Session 的相关 API 转换实体(Entity)的生命周期状态。 如果缺少的 JPA 和 Hibernate 的基本认识,可以阅读前篇文章。 持久化上下文 在 JPA 的相关概念中,存在一个 持久化上下文 (Persistence Context)。 持久化

    2024年02月11日
    浏览(65)
  • 高校毕业生就业信息管理系统的设计与实现(Spring + Spring MVC +Hibernate)

    目 录 摘要 I ABSTRACT II 1 引言 1 1.1 高校毕业生就业信息管理系统现状 1 1.2毕业生就业信息管理系统设计目标 1 1.3 可行性研究 2 1.3.1 研究目的 2 1.3.2 经济可行性 2 1.3.3 技术可行性 2 1.3.4法律条文可行性 3 1.3.5可行性研究结论 3 2 系统开发技术介绍 4 2.1 Java EE 、JSP概述 4 2.2系统开发

    2024年02月05日
    浏览(45)
  • Spring Data JPA 学习笔记

    Spring Data JPA: Spring Data JPA 的技术特点: @Entity 标注是一个实体类,实体类中的每一个属性都对应表中的一列。 @Table(name = “User”) 这个注解用于指定实体类对应的数据库表名。(但首字母会小写) @Data:这个注解是Lombok库提供的,用于自动生成实体类的getter和setter方法、构造函

    2024年04月09日
    浏览(52)
  • Spring Data JPA 快速上手

    JPA的全称是Java Persisitence API,即JAVA持久化API,是sum公司退出的一套基于ORM的规范,内部是由一些列的接口和抽象类构成。JPA通过JDK5.0注解描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 Spring Data的优势:可以操作多种数据库,关系型数据库,非关系

    2024年04月23日
    浏览(41)
  • Spring data JPA常用命令

    Spring Data JPA是Spring框架的一部分,它提供了一个简化的方式来与关系型数据库进行交互。JPA代表Java持久化API,它是Java EE规范中定义的一种对象关系映射(ORM)标准。Spring Data JPA在JPA的基础上提供了更高级的抽象,使得开发人员能够更轻松地进行数据库操作。 使用Spring Data

    2024年02月15日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包