|
0 / 0 / 0
Регистрация: 21.03.2015
Сообщений: 84
|
|||||||||||||||||||||
Связь многие ко многим25.07.2015, 13:23. Показов 3423. Ответов 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
Связь многие ко многим
Связь многие ко многим Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|