我正在开发一个使用Spring启动,Spring Data JPA和postgres的项目。有一个问题无法解决。
当我的应用程序启动时,数据库尚未就绪。它需要在运行时添加到应用程序。但我也想使用JPA初始化数据库。
就像spring.jpa.hibernate.ddl-auto:create-drop
一样,不幸的是,使用JPA初始化数据库将在应用程序启动时发生。
我的问题是如何延迟spring数据jpa DDL的生成。现在我们无法在应用程序运行时添加数据源。
我在网上搜索了很长时间。但没用。 AbstractRoutingDataSource可能不适合我们,因为我们在开始时没有数据源。 请帮助或尝试提供一些如何实现此目的的想法
提前致谢
答案 0 :(得分:0)
AbstractRoutingDataSource没用,因为它需要预先配置的数据源。 只需检查this stackoverflow问题,它就会显示如何在运行时添加/删除数据源。虽然它不支持hibernate的延迟ddl创建,但你可以使用schema.sql在运行时数据源中创建数据库表,并使用data.sql插入一些常量。