猿问

Java 中,Spring 维护数据库无需任何脚本

我正在用 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是否有类似的东西。


拉莫斯之舞
浏览 134回答 3
3回答

收到一只叮咚

当然你可以做到。spring.jpa.hibernate.ddl-auto=update在您的 application.properties 中使用。

喵喔喔

理想方式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

凤凰求蛊

您可以使用 Flyway 进行迁移,它类似于 Laravel 迁移。添加依赖项并将迁移 SQL 文件放入 classpath:db/migration。Flyway 将自动检查 sql 文件版本并应用任何挂起的迁移。
随时随地看视频慕课网APP

相关分类

Java
我要回答