Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496

JPA/Hibernate Дайте совет по проэктированию Entity

19.02.2017, 16:56. Показов 928. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу приложение "Система управления рестораном". Столкнулся с проблемой что немогу придумать как правильно организовать заказ. Есть четыре таблицы меню(Alcohol, NonAlcohol, dessert, entree).
Сразу придумал связать таблицу orders с таблицей order_details, куда с меню буду добавлять обьекты, кол-во и тд.
Но что-то начал сомневать что это правильно.
Как правильно сделать? Думал может связать заказ с каждой таблицей меню как @ManyToMany или @OneToMany.
Подскажите пожалуйста.
Миниатюры
JPA/Hibernate Дайте совет по проэктированию Entity  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.02.2017, 16:56
Ответы с готовыми решениями:

Hibernate Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
Доброго времени суток. Сталкиваюсь со всякими ошибками при добавлении данных в свою mysql бд. Вот код ошибки Exception in thread...

JPA: Hibernate
Где-то читал, что реализация JPA от Hibernate это entity-manager. Но там даже нету классов типа javax.persistence ... Нашел такие классы...

Когда JPA(hibernate) использует equals/hashcode у entity
Что-то я совсем запутался когда они должны вызываться, подскажите пожалуйста. Добавлено через 102 часа 59 минут Наверное я непонятно...

4
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
19.02.2017, 19:13
Borsche, уберите таблицы Alcohol, NonAlcohol, dessert, entree. Вам нужна только Order и OrderDetail со связью один ко многим.
0
 Аватар для Borsche
183 / 110 / 44
Регистрация: 03.07.2016
Сообщений: 496
19.02.2017, 20:30  [ТС]
А как так. Возможно вы неправильно поняли. В этих таблицах меню ресторана, название и цена.
И я хочу понять как правильно объединить меню с заказом.

Добавлено через 29 минут
Да извините это я несовсем правильно задачу сформулировал.
Неподскажите как всё же в моём случае сделать?

Добавлено через 17 минут
А хотя теперь я подумал что меню получаеться совсем не маштабируемое. Думаю лучше создать что-то по типу MenuCategory собственно с категориями товаров и собственно лист там с самимы товарами.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
19.02.2017, 22:03
Borsche, по-моему я все так понял. Удалите эти таблицы и в OderDetail добавьте поля имя, цена, категория
Если вы хотите задать меню чтобы было из чего выбрать, тогда создайте таблицу Menu (одну) и там поля имя, цена, категория, однако связи с этой таблицей в OderDetail быть не должно иначе вы никогда не сможете обновить меню вашего ресторана.
Получится немного денормализованно, но будет куда легче поддерживать.
1
2 / 2 / 2
Регистрация: 20.01.2017
Сообщений: 41
19.02.2017, 23:00
[
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Borsche, уберите таблицы Alcohol, NonAlcohol, dessert, entree.
плюсую
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2017, 23:00
Помогаю со студенческими работами здесь

Не записывает в базу Spring4+JPA+Hibernate
Пишу проэкт на Spring 4 + Gradle + Hibernate. Пытаюсь добавить в таблицу юзеров пользователя. Вы дает ошибку: Exception encountered...

Spring boot, Jpa, Hibernate, H2DB
Суть такова я вызываю удаленную процедуру public interface NotificationProcedureRepository extends...

JPA/Hibernate MappingException: Foreign key must have same number
Вот описание ошибки. org.hibernate.MappingException: Foreign key (FK_n9nvapt8aqpregmwepb98hjed:questions )) must have same number of...

JPA entity manager: немогу поймать исключение при вставке/обновлении данных
В моём проекте используется jpa и его entity manager (поставщик - hibernate), проблема в том что я не могу поймать исключение там где мне...

Hibernate projection for nested entity
Добрый день! Возникла такая проблемка. У меня есть две таблицы с кучей полей, связаны один-к-одному. Хочу я вытянуть только первую,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru