如果数据库关闭,如何配置Hibernate使其启动失败?
我使用的是hibernate+spring(但我单独使用hibernate也有同样的问题)。当应用程序启动时,hibernate说它正在构建一个会话工厂。事实上,即使数据库关闭(在我的例子中是mysql),hibernate也不会失败,它只是在没有异常的情况下启动。我希望它失败,在配置中是否有这样做的方法?如果您使用的是连接池(例如c3p0),它将验证连接并在启动时失败。为了一个指导如果数据库关闭,如何配置Hibernate使其启动失败?,hibernate,Hibernate,我使用的是hibernate+spring(但我单独使用hibernate也有同样的问题)。当应用程序启动时,hibernate说它正在构建一个会话工厂。事实上,即使数据库关闭(在我的例子中是mysql),hibernate也不会失败,它只是在没有异常的情况下启动。我希望它失败,在配置中是否有这样做的方法?如果您使用的是连接池(例如c3p0),它将验证连接并在启动时失败。为了一个指导 您还可以使用hibernate.hbm2ddl.auto=validate——它的主要目的是验证架构的结构是否与
您还可以使用
hibernate.hbm2ddl.auto=validate
——它的主要目的是验证架构的结构是否与实体匹配,但这意味着hibernate将尝试连接,如果连接失败,则抛出异常。我使用org.apache.commons.dbcp.BasicDataSource,用于hibernate.hbm2ddl.auto,目前它被设置为更新,稍后我想编写一些例程,只通过代码创建。这是一种发展安排。您对数据源有什么线索吗?@gotch4我当前的设置使用hbm2ddl和c3p0,如果数据库关闭,它将无法启动。