Spring Boot with Hibernate generating drop constraint errors on startup with H2 database(启动H2数据库时,Hibernate生成Drop Constraint错误的Spring Boot)
问题描述
我使用的是SpringBoot,并有一个这样配置的H2数据库(在应用程序.properties中)。
在日志中,我看到以下错误:
即使Hibernate将这些报告为错误,我也可以登录到H2控制台并查看约束,它们看起来很好。
如果真的看起来Hibernate在实际创建数据库之前尝试删除这些约束(即Hibernate中的某种错误)。 有没有办法避免这些错误堵塞日志,或者是否表明某个地方出现了真正的故障?
更新%1
正在尝试使用此设置强制应用程序仅执行更新:
导致以下错误(所有其他错误消失):
注意:来源在这里:https://github.com/azeckoski/lti_starter
具体地说,配置: https://github.com/azeckoski/lti_starter/blob/master/src/main/resources/application.properties和模型: https://github.com/azeckoski/lti_starter/tree/master/src/main/java/ltistarter/model
推荐答案
因为您使用的是内存数据库,所以Hibernate在执行时不会找到任何表:
这是因为语句顺序是:
- 删除约束(FK)
- 拖放表
- 创建表
创建约束(FK)
您可以通过将hibernate.hbm2ddl.auto更改为更新来修复此问题:
这篇关于启动H2数据库时,Hibernate生成Drop Constraint错误的Spring Boot的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!