我在Spring Boot中使用Hibernate,并且只是使用属性来验证架构:

spring.jpa.generate-ddl=true

spring.jpa.hibernate.ddl-auto=validate

如果对数据库的验证失败,则该程序运行正常,应用程序无法启动(错误代码1)。

我想做的是使用特定的错误代码失败,因此可以进行处理。我想以某种方式捕获SchemaManagementException,但看不到如何完成,因为验证似乎是在创建bean之前的第一件事。

最佳答案

如果您的架构的字段命名存在问题,请使用hack方法来解决您的命名架构:

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl

07-28 01:19
查看更多