当spring.jpa.generate-ddl=false时仍然生成H2模式

4nkexdtk  于 12个月前  发布在  Spring
关注(0)|答案(1)|浏览(101)

我正在使用Sping Boot 2.1.3和H2内存数据库进行测试。当我运行我的测试时,即使我指定了以下属性,模式也会生成。

spring.jpa.generate-ddl=false

字符串
似乎是因为Sping Boot 在使用H2时默认了以下属性

spring.jpa.hibernate.ddl-auto=create-drop


优先于spring.jpa.generate-ddl=false
这是个窃听器吗?

1tu0hz3e

1tu0hz3e1#

此行为在Sping Boot 参考文档的创建和删除JPA数据库部分中描述如下:
默认情况下,DDL执行(或验证)被推迟到ApplicationContext启动之后。还有一个spring.jpa.generate-ddl标志,但如果Hibernate自动配置处于活动状态,则不使用它,因为ddl-auto设置更细粒度。
由于spring.jpa.hibernate.ddl-auto属性是在使用Hibernate时默认设置的,因此spring.jpa.generate-ddl属性被忽略,至少对于H2内存数据库是这样

相关问题