Conversation
| } | ||
|
|
||
| String queryCreationOfRecipeToWeekMenu = "CREATE TABLE Recipe_to_week_menu " + | ||
| "(recipe_ID INTEGER PRIMARY KEY NOT NULL, date TEXT NOT NULL)"; |
There was a problem hiding this comment.
recipe_ID в этой таблице не может быть primary key, это ссылка на другой ключ в таблице recipes. Изучите термин foreign key для того, чтобы ссылаться на ключи в других таблицах. В этой таблице и в остальных.
|
|
||
| stmt.executeUpdate(queryCreationOfIngredient); | ||
|
|
||
| int numberOfAllStep = 0; |
There was a problem hiding this comment.
Счетчики ID не нужны, база данных сама будет генерировать уникальные id для каждой таблицы. Просто не указывайте столбец с INTEGER PRIMARY KEY в INSERT запросе. Каждая операция insert возвращает id после вставки записи. Переделывать это не нужно, так как скрипт вспомогательный.
|
|
||
| stmt.executeUpdate(insertIngredient); | ||
|
|
||
| int measure = -1; |
There was a problem hiding this comment.
Для measure нужно завести enum с перечислением всех возможных значений + преобразование из строки/в строку.
| public class Category implements Serializable { | ||
| private String description; | ||
| private int ID; | ||
| private ArrayList<Recipe> recipes; |
There was a problem hiding this comment.
Зачем внутри категории лежит потенциально тяжелый список всех её рецептов? Рецепты для категории должны доставаться отдельным запросом.
| return ID; | ||
| } | ||
|
|
||
| public void setID(int ID) { |
There was a problem hiding this comment.
Зачем этому классу сеттеры? Принимайте всё в конструкторе и класс станет immutable.
| * то можно в дальнейшем реализовать с повторениями. | ||
| * @param day день в который нужно сгенерировать меню | ||
| */ | ||
| private void generateDayMenu(Day day) { |
There was a problem hiding this comment.
Это тоже обсудили в Telegram
Пока мертвый код
| * В дальнейшем, у рецепта будет поле количество порций и тогда уже можно будет понимать, | ||
| * сколько дней можно кушать это блюдо. | ||
| */ | ||
| public void setNewWeekMenu() { |
| allDayMenu = menu.getMenu(); | ||
| if (allDayMenu == null) { | ||
| menu.setNewWeekMenu(); | ||
| allDayMenu = menu.getMenu(); |
| /** | ||
| * @param day создание меню только для одного дня на неделе. | ||
| */ | ||
| public void setOnlyOneDayMenu(Day day) { |
| * Используется ТОЛЬКО в случае, если пользователя не устраивает конкретный день в меню. | ||
| * @param day метод заново создает меню для этого дня. | ||
| */ | ||
| public void setNewDayMenu(Day day) { |
No description provided.