![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
4epT |
|
||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Доброе утром всем) Делаю авторизацию на сайте через Spring Security. Класс отвечающий за авторизацию написал ... возникли небольшие проблемы с мапингом. Сейчас сделано вот так:
Данный вариант не работает, ругается что не правильный маппинг. Подскажите где я ошибся =) И еще есть вариант переписать с использованием @CollectionOfElements. То есть будет как то так:
Какой вариант предпочтительней ? Может у кого то есть уже готовые "красивые" варианты ?) буду благодарен! |
||||||||
|
|||||||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Привет.
Вообще мепинг у тебя однозначно не правильный должно быть так:
Т.е. у тебя есть еще третья таблица, которая хранит связь user-roles. Ведь может же один user иметь несколько ролей. И с другой стороны - одной роли могут принадлежать несколько users. -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Во, то что нужно ... у меня структура БД была изначально так и построена ... через таблицу RoleCasts были связаны роли и юзеры, но не знал то можно делать такой мапинг.
Единственное хотелось бы уточнить...
Тут @JoinTable(name = "USERROLELINK" - это имя энтити которое отвечает за связь, следующие два параметра "USERID" и "ROLEID" - это поля из того самого энтити. Я правильно понял ? Если не сложно приведи пожалуйста мапинг таблицы USERROLELINK и Role =) |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
В том той дело, что меппинга таблицы USERROLELINK у меня нет.
Это в чистом виде реализация в БД связи многие-ко-многим. Она просто содержит внешние ключи на Users & Role, а "USERID" и "ROLEID" это как раз имена этих колонок, которые в свою очередь ссылаются на users.id & role.id соответственно. Маппинг таблицы Role очень простой: id & name. -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Значит мапинг делается только для таблицу User ?
Тогда я вообще не понимаю как вообще хибер вытащит роли для юзера, если нигде не указано что ROLEID как то связано с id из таблицы Role ... |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Ясно.
Вот такой маппинг:
-------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Это я понял =) спасибо большое) сегодня сделаю так .. =)
А со стороны БД должны быть настроены как то foregin key ? |
|||
|
||||
MisterCleric |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1043 Регистрация: 16.2.2006 Где: Харьков, Украина Репутация: 33 Всего: 38 |
Однозначно должны.
Это же БД. Твоя таблица "многие-ко-многим" должны иметь внешние ключи на те таблицы, которые она связывает -------------------- ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ... |
|||
|
||||
4epT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: 3 Всего: 3 |
Вот теперь я точно понял как это все работает) спасибо большое! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |