亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java 中,Spring 維護數據庫無需任何腳本

Java 中,Spring 維護數據庫無需任何腳本

拉莫斯之舞 2023-05-10 13:56:32
我正在用 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 中使用。


查看完整回答
反對 回復 2023-05-10
?
喵喔喔

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

查看完整回答
反對 回復 2023-05-10
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

您可以使用 Flyway 進行遷移,它類似于 Laravel 遷移。

添加依賴項并將遷移 SQL 文件放入 classpath:db/migration。Flyway 將自動檢查 sql 文件版本并應用任何掛起的遷移。


查看完整回答
反對 回復 2023-05-10
  • 3 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號