Хранение данных объекта ArrayList в базе данных mySQL - PullRequest
0 голосов
/ 25 апреля 2019

Я создаю веб-приложение, в котором есть объект User, а у каждого объекта User есть ArrayList объектов (Food), которые необходимо сохранить в таблице в базе данных mySQL. Я хочу сохранить весь ArrayList в одном столбце. Будет ли лучше хранить его как Json? Или я должен просто создать таблицу для каждого пользователя, которая хранит отдельные элементы ArrayList? Единственная проблема, с которой я столкнулся, заключается в том, что данные редактировались довольно часто.

РЕДАКТИРОВАТЬ: У меня есть таблицы для пользователей и продуктов питания. Идея состоит в том, что пользователи добавляют из таблицы Foods из Food в свой ArrayList, а затем я хочу сохранить этот ArrayList в чем-то.

public class User{
  private int id;
  private String username;
  private List<Food> FoodList = new ArrayList<Food>();
}
public class Food{
  private int id;
  private String name;
  private double protein;
  private int calories;
  ...
}

1 Ответ

0 голосов
/ 25 апреля 2019
  1. Как отмечает @ayrton, создание (как минимум) двух таблиц - хорошая идея (одна для пользователей и одна для продуктов питания).
  2. Определенно не создавайте таблицу для каждого пользователя
  3. Как уже упоминалось @NeplatnyUdaj, для таблицы объединения (где вы отображаете Foods для пользователей) может быть гарантировано (или это может быть избыточно, в зависимости от ваших потребностей).
  4. Учитывая детали, которые вы описали, JSON почти наверняка не лучший подход (это не так во всех ситуациях, но если бы вы были в такой ситуации, я бы, вероятно, предложил вам рассмотреть другой тип базы данных ).

(Добро пожаловать на ТАК, кстати!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...