我在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