我正在用 Java 開發一個項目(使用 Spring Boot、Thymeleaf、Hibernate、JPA、MySql)。每次我創建一個新的模型類時,我都必須在數據庫中創建一個表,或者如果我在模型類中進行任何更改,我必須自己更改表。有什么辦法可以避免這種數據庫相關的東西。例如,我將制作模型類并聲明它們之間的關系,我的數據庫表將自動生成。將來如果我對我的類進行任何更改,它們將自動應用于數據庫而不會丟失任何數據。之前我在 PHP,Laravel 上工作。我需要做的就是 1) run command php artisan make:migration create_posts_table,2) declare columns like $table->string('title');,$table->foreign('user_id')->references('id')->on('users');然后 3) run command php artisan migrate。就是這樣。不需要 SQL 腳本。我想知道Java,Spring是否有類似的東西。
3 回答

收到一只叮咚
TA貢獻1821條經驗 獲得超5個贊
當然你可以做到。
spring.jpa.hibernate.ddl-auto=update
在您的 application.properties 中使用。

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
理想方式
spring.jpa.hibernate.ddl-auto=none
在我看來,理想的方法是創建一個 SQL 文件,它將在啟動時為我們創建模式。
讓 Spring Boot 為您創建它
spring.jpa.hibernate.ddl-auto=update spring.jpa.hibernate.ddl-auto=?#?DDL?mode.?This?is?actually?a?shortcut?for?the?"hibernate.hbm2ddl.auto"?property.?Defaults?to?"create-drop"?when?using?an?embedded?database?and?no?schema?manager?was?detected.?Otherwise,?defaults?to?"none".
其他可能的值:create、create-drop、validate

鳳凰求蠱
TA貢獻1825條經驗 獲得超4個贊
您可以使用 Flyway 進行遷移,它類似于 Laravel 遷移。
添加依賴項并將遷移 SQL 文件放入 classpath:db/migration。Flyway 將自動檢查 sql 文件版本并應用任何掛起的遷移。
添加回答
舉報
0/150
提交
取消