|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
|||||||||||||||||||||
Связь многие ко многим25.07.2015, 13:23. Показов 3366. Ответов 21
Метки нет (Все метки)
Есть Users и Course.
делаю связь многие ко многим. Пользователь входит на странице courses.ftl , где отображаются курсы и рядом с ними кнопки Subscribe. Т.е. на какой-то курс подписываются несколько пользователей. Где и как мне нужно хранить информацию о подписчиках? создать в классе Courses поле private ArrayList<User> subscribes = new ArrayList<User>(0); и туда записывать пользователей ? но в базе данных где они будут храниться ? или в третьей таблице USER_COURSE создать поле String Subscribe ? Тоже не понятно как туда записывать, если такого класса нет ? Может кто-нибудь набросать кода , как это реализовать?
0
|
|||||||||||||||||||||
| 25.07.2015, 13:23 | |
|
Ответы с готовыми решениями:
21
связь один-ко-многим в hibernate Entity Framework 6. Code First. Связь один-ко-многим и многие-ко-многим одновременно Связь многие-ко-многим |
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 25.07.2015, 13:55 | |
|
goldenhawk, как у вас написанно норм. Скрипт БД автоматически сгенерирует таблицу USERS_COURSES
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
|||||||||||
| 25.07.2015, 14:09 [ТС] | |||||||||||
|
KEKCoGEN, Он генерирует таблицу с двумя колонками id_user, id_course
Делал через связи один ко многим и 3ей таблицей. создавал такой класс.
0
|
|||||||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||||
| 25.07.2015, 14:18 | ||||
|
Добавлено через 42 секунды
0
|
||||
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
||||||
| 25.07.2015, 14:49 [ТС] | ||||||
|
KEKCoGEN, у state может быть 4 состояния (пустое, subscribe, attende,evaluate ). Т.е. после subscribe пользователь может стать attend, потом evaluate. каждый пользователь дает оценку курсу.
У меня была связь один ко многим. я создал третий класс и таблицу
Т.е. такой-то юзер сделал subscribe на такой-то курс, потом он сделал attend на этот курс, потом сделал evaluate на такой-то курс и поставил оценку. А теперь мне нужно реализовать это через связь многие ко многим. не совсем понимаю как это реализовать. Не могли бы вы мне набросать как бы это сделать?
0
|
||||||
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|||
| 25.07.2015, 15:09 | |||
|
Думаю вы неправильно строите модель. Нарисуйте модель БД как вы её видите затем будет понятно как замапить её в коде.
0
|
|||
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
|
| 25.07.2015, 16:07 [ТС] | |
|
KEKCoGEN,
Вот это нужно реализовать Users Id......Login............Email.......... ...Password..........Role.......... 1........user-1...........user-1.mail.ru........123............User.... .... 2........user-2...........user-2.mail.ru........123............User.... .... 3........user-3...........user-3.mail.ru....... 123............User........ 4........Lecturer-1....lecturer-1.mail.ru.....123...........Lecturer.... . 5........Lecturer-2.....lecturer-2.mail.ru.....123..........Lecturer..... Courses Id.....Name............Owner........Subs cribers........Attendees.......Grade.... .... 1.......PHP............Lecturer-1....... user-1............user-1........user-1: 5....... ........................................ ........user-2............user-2........user-2: 3........ 2......Python.........Lecturer-2.......user-2..............user-2.......user-2: 4......... ........................................ .......user-3..............user-3.......user-3: 4......... 3........C++..........Lecturer-1.......user-1..............user-1........user-1: 5........ ........................................ .......user-2....................................... ............ Связь многие - ко- многим. Subscribers,Attendees,Grade это ArrayList ? Нужно сделать классы ( и соответственно таблицы ) Subscribers,Attendees,Grade и сделать связь один - ко - многим с Courses ? А что нам дает связь многие ко многим между Users и Courses ?
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 25.07.2015, 16:08 | |
|
goldenhawk, то что вы написали трудно читать.
https://www.draw.io/ нарисуйте схему тут (только схему без данных)
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
|
| 25.07.2015, 16:10 [ТС] | |
|
KEKCoGEN, немного подправил выше , чтоб лучше читалось
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 25.07.2015, 16:19 | |
|
goldenhawk, в чем разница между Attendees и Subscribers?
Grades это чьи оценки?
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 25.07.2015, 16:31 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
|
| 25.07.2015, 16:37 [ТС] | |
|
KEKCoGEN, Subscribers - подписчики курса . Нажимаешь Subscribe - становишься подписчиком, и появляется кнопка Attende
Attendees - посетители курса, Нажимаешь Attende- становишься посетителем курса, и появляется кнопка Evaluate. Нажимаешь кнопку Evaluate появляется форма, где ставишь оценку курса. Grades -это оценка о курсе , которую ставит пользователь, который посещал курс.
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 25.07.2015, 16:48 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
|
| 25.07.2015, 17:40 [ТС] | |
|
KEKCoGEN, ну можно attendes убрать .
Вот такая схема получается. Пользователи подписываются на курсы, и выставляют оценки о курсе . Users Id......Login............Email.......... ...Password..........Role.......... 1........user-1...........user-1.mail.ru........123............User.... .... 2........user-2...........user-2.mail.ru........123............User.... .... 3........user-3...........user-3.mail.ru....... 123............User........ 4........Lecturer-1....lecturer-1.mail.ru.....123...........Lecturer.... . 5........Lecturer-2.....lecturer-2.mail.ru.....123..........Lecturer..... Courses Id.....Name............Owner........Subs cribers.......Grade........ 1.......PHP............Lecturer-1....... user-1..........user-1: 5....... ........................................ ........user-2..........user-2: 3...... 2......Python.........Lecturer-2.......user-2............user-2: 4...... ........................................ .......user-3...........user-3: 4....... 3........C++..........Lecturer-1.......user-1............user-1: 5...... ........................................ .......user-2............user-2: 5......
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
| 25.07.2015, 17:46 | |
|
goldenhawk, тогда схема которую я выше написал вполне подойдет. Оценки можно вынести отдельно а можно не выносить.
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
||||||||||||||||
| 25.07.2015, 20:19 [ТС] | ||||||||||||||||
|
KEKCoGEN, но это получается связи один к одному?
Вот у меня так реализовано. User.java
А нужно както через связи мноигие ко многим реализовать.
0
|
||||||||||||||||
|
89 / 89 / 20
Регистрация: 19.02.2010
Сообщений: 966
|
|
| 25.07.2015, 20:27 | |
|
goldenhawk, че та я не совсем вник...
на сколько я знаю что в БД "нельзя" реализовать (*)---(*) вместо этого (1)--(*)--(1) или наподобие этого будет или я ошибаюсь?
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
|
| 25.07.2015, 20:42 [ТС] | |
|
Так а для чего тогда связи many to many нужны?
0
|
|
|
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
||
| 25.07.2015, 21:06 | ||
|
goldenhawk, последний вариант вроде как рабочий несмотря на то что много кривого кода.
0
|
||
| 25.07.2015, 21:06 | |
|
Помогаю со студенческими работами здесь
20
Связь многие ко многим
Связь многие ко многим Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|