我正在使用 PostgreSQL DB 開發(fā)一個 Spring Boot 項(xiàng)目。我想在數(shù)據(jù)庫中插入一些靜態(tài)數(shù)據(jù),這些數(shù)據(jù)永遠(yuǎn)不會改變。執(zhí)行此操作的最佳方法是什么:-1-在我的類路徑中使用 .sql 文件。但問題是,每當(dāng)應(yīng)用程序啟動時,它總是會插入數(shù)據(jù)。2-在數(shù)據(jù)庫中使用插入查詢。只能一次性操作。3-在 Spring Boot 主類中使用 dataInitializer 并從代碼中插入數(shù)據(jù)。提前致謝。
2 回答

慕娘9325324
TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個贊
我建議使用Flyway或Liquibase
兩者都與 Spring 進(jìn)行了良好的調(diào)優(yōu)。

慕容708150
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個贊
希望您在應(yīng)用程序中使用 hibernate 作為 ORM 進(jìn)行數(shù)據(jù)庫配置。
使用 hibernate,您可以控制何時應(yīng)使用 sql 文件以及何時執(zhí)行插入語句,
hibernate 配置有一個可用的屬性,名為 hibernate.hbm2ddl.import_files = sql 文件的路徑
上述屬性將用于提供 sql 文件路徑,并且僅當(dāng)提供 hibernate.hbm2ddl.auto = create 或 create-drop 模式時才會執(zhí)行該文件。
現(xiàn)在,當(dāng)您的應(yīng)用程序啟動時,第二次只需修改屬性 hibernate.hbm2ddl.auto = validate。
使用上述模式將永遠(yuǎn)不會執(zhí)行 Sql 文件導(dǎo)入。
添加回答
舉報(bào)
0/150
提交
取消