I am working on a project in Java (using Spring Boot, Thymeleaf, Hibernate, JPA, MySql). Every time I create a new Model Class, I have to create a table in the database or if I make any change in the Model class I have to alter the table by myself. Is there any way to avoid this database related stuff. For example I will make Model classes and declare their relationships my Database tables will be generated automatically. In future if I make any changes to my classes they will be applied to the database automatically without loosing any data.
Previously I worked on PHP, Laravel. There all I needed to do is 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');
and then 3) run command php artisan migrate
. That's it. No SQL scripts needed. I was wondering if Java, Spring has something like this.