Spring Boot Application在运行时添加数据源?

时间:2017-08-16 05:19:42

标签: spring hibernate spring-mvc jpa spring-data-jpa

我正在开发一个使用Spring启动,Spring Data JPA和postgres的项目。有一个问题无法解决。

当我的应用程序启动时,数据库尚未就绪。它需要在运行时添加到应用程序。但我也想使用JPA初始化数据库。 就像spring.jpa.hibernate.ddl-auto:create-drop一样,不幸的是,使用JPA初始化数据库将在应用程序启动时发生。

我的问题是如何延迟spring数据jpa DDL的生成。现在我们无法在应用程序运行时添加数据源。

我在网上搜索了很长时间。但没用。 AbstractRoutingDataSource可能不适合我们,因为我们在开始时没有数据源。 请帮助或尝试提供一些如何实现此目的的想法

提前致谢

1 个答案:

答案 0 :(得分:0)

AbstractRoutingDataSource没用,因为它需要预先配置的数据源。 只需检查this stackoverflow问题,它就会显示如何在运行时添加/删除数据源。虽然它不支持hibernate的延迟ddl创建,但你可以使用schema.sql在运行时数据源中创建数据库表,并使用data.sql插入一些常量。