Рубрики
Без рубрики

Загрузка исходных данных с помощью Spring Boot

С помощью Spring Boot + Hibernate мы можем легко управлять нашей базой данных. По умолчанию все классы отмечены знаком… Помечен как spring boot, java, hibernate, jpa.

С помощью Spring Boot + Hibernate мы можем легко управлять нашей базой данных. По умолчанию все классы, отмеченные аннотацией @Entity в наших пакетах, используются для автоматического создания таблиц.

Что ж, бывают случаи, когда нам нужен более детальный контроль над изменениями базы данных в соответствии с нашими требованиями. В этом посте я поделюсь информацией об одном из этих сценариев: Автоматическое заполнение или загрузка начальных значений в наши таблицы .

Spring Boot имеет некоторые оговорки для подобных ситуаций. Мы используем data.sql файл в Spring, чтобы реализовать это.

Этот файл должен быть сохранен в каталоге: src/main/resources/

Подсказка: То же место, что и применение.свойства файл.

Когда мы запустим проект с этим файлом в каталоге ресурсов, Spring подберет его и будет использовать для заполнения базы данных.

В качестве примера мы можем решить загрузить начальные значения для объекта Role следующим образом:

INSERT INTO Role (name) VALUES ('USER');
INSERT INTO Role (name) VALUES ('ADMIN');

Когда вы запустите свое приложение, spring попытается загрузить эти данные в таблицу Role , которая в настоящее время не существует, что приведет к сбою программы, поэтому нам нужно добавить следующую конфигурацию в файл application.properties

spring.jpa.defer-datasource-initialization=true

Это говорит spring отложить процесс инициализации данных. Теперь запустите свое приложение spring, и вы сможете увидеть значения “ПОЛЬЗОВАТЕЛЬ” и “АДМИНИСТРАТОР” в таблице ролей.

Надеюсь, вы найдете это полезным. Вы можете оставить комментарий, чтобы внести свой вклад. Спасибо!

Оригинал: “https://dev.to/imanuel/loading-initial-data-with-spring-boot-58mi”