Spring Boot: изменение таблиц базы данных во время выполнения - PullRequest
0 голосов
/ 14 апреля 2020

В настоящее время разрабатывается веб-приложение с использованием Spring Boot, где пользователь должен загружать файлы .CSV с контактами для заполнения базы данных.

  • Каждый файл .CSV (список контактов) может иметь различный набор столбцов (например: Имя, Электронная почта, Адрес и т. Д. c ..).
  • Каждый список может содержать тысячи записей.
  • Приложение включает чтение и запись каждого из списков по отдельности.
  • Приложение также должно предусматривать вставку / удаление столбцов.

Вопрос 1 : каков наилучший подход для вставки таких данных в базу данных?

До сих пор я мог думать о двух вариантах:

Наличие одной таблицы, которая будет содержать все данные из всех списков.

ИЛИ

Создайте новую таблицу для каждого нового списка.

Вопрос 2 : хотя первый вариант легко реализовать с помощью Spring Boot JPA + Hibernate Я не уверен, как подойти ко второму. Поскольку поля отличаются от списка к списку, мы не можем предоставить класс представления ресурса. Любые предложения?

Вопрос 3 : Имея классы представления ресурсов и используя Hibernate, возможно ли даже динамическое изменение таблиц базы данных (вставка / удаление столбцов)?

Спасибо

1 Ответ

0 голосов
/ 14 апреля 2020

Я думаю, вам следует использовать MongoDB в качестве базы данных, поскольку она сохраняет данные в формате JSON, поля записи могут быть различными друг от друга, так что, возможно, в вашем случае это хороший выбор.

...