📅  最后修改于: 2023-12-03 15:31:07.835000             🧑  作者: Mango
Hibernate是一种流行的ORM(对象关系映射)框架,它允许Java开发人员更轻松地将Java对象映射到关系型数据库中。Hibernate DDL Auto属性是一个非常有用的功能,它允许Hibernate自动创建数据库模式/表格并将它们同步到Java类的数据模型中。
Hibernate提供了以下DDL(数据定义语言)自动操作:
在Hibernate中,DDL自动操作属性控制着Hibernate如何处理表结构更新。
spring.jpa.hibernate.ddl-auto=create
根据应用程序的实体模型,Hibernate会创建新表或将现有表更新为应用程序实体模型的结构定义。这个操作集是DDL自动操作中最具侵略性的。
spring.jpa.hibernate.ddl-auto=create-drop
每次SessionFactory启动时,Hibernate都会创建一个新的数据库,并使用实体模型中的定义来创建模式和表,当SessionFactory关闭时将删除数据库。这只适用于开发和测试,因为所有数据都会丢失。
spring.jpa.hibernate.ddl-auto=update
Hibernate会更新表结构,有限地保留表和字段上可能已经存在的数据。这是DDL自动操作的默认设置。
spring.jpa.hibernate.ddl-auto=validate
Hibernate将验证实体模型是否匹配现有数据库模式。如果表或字段缺失,Hibernate会抛出异常。
spring.jpa.hibernate.ddl-auto=none
Hibernate将不会创建表或更新表结构,但仍然会自动管理Hibernate映射的所有其他方面。
Hibernate DDL Auto属性是一个有用的功能,可以自动创建或更新表结构,使得Java开发人员更轻松地将Java对象映射到关系型数据库中。这个功能在开发和测试中特别有用,但在生产中应该谨慎使用。