我的 spring boot 项目中有以下文件。而且我想使用这些表并能够使用我的宁静 api 来使用这些数据。我有create-drop,但是每次运行应用程序时都会创建和删除,并且表是空的,因为在create-drop期间我没有插入任何东西。但是我已经在表格中有数据并且我无法获取它,邮递员的获取给我带来了 200 但它是空的。我的错误在于属性的逻辑。
# Datasource configurations.
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=create
# Datasource configurations.
spring.datasource.url=jdbc:mariadb://localhost:3306/aulas_db
spring.datasource.username=root
spring.datasource.password=1234
spring.datasource.driverclassName=org.mariadb.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create-drop
spring.main.banner-mode=off
server.servlet.context-path = /api
server.port = 8090
# spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
# Logger configurations.
logging.level.com.capgemini.serviciosya = DEBUG
logging.level.org.springframework.data = DEBUG
logging.level.org.hibernate.type = TRACE
# Hibernate
hibernate.dialect = org.hibernate.dialect.MariaDB53Dialect
hibernate.show_sql = true
hibernate.hbm2ddl.auto = validate
entitymanager.packagesToScan = ar.edu.unaj.reports.entity
spring.profiles.active=dev
您可以使用
update
它来更新您正在处理的架构。该属性
spring.jpa.hibernate.ddl-auto
特定于 Spring Data JPA,并且是它指定一个值的方式,该值最终将在它知道的属性下传递给 Hibernatehibernate.hbm2ddl.auto
,.create
、create-drop
和值基本上会影响数据库模式在启动时的处理方式validate
。update
所以可能的选项列表是:
validate
:验证架构,不更改数据库。update
:更新架构。create
:创建模式,销毁以前的数据。create-drop
:在显式关闭时删除架构SessionFactory
,通常是在应用程序停止时。