| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Помогите определиться :) |
| Автор: kaa 27.5.2009, 21:29 |
| Всем привет. Ковыряю тут Hibernate, решил написать с ним что-нить более-менее настоящее и упёрся. В общем, есть два класса: User и Role. User содержит в себе Set ролей. Предполагается, что роли будут создаваться отдельно, тоесть юзер будет только ссылаться на них. Какой маппинг мне лучше выбрать: many-to-many или many-to-one? Как сделать так, что бы любое изменения пользователя не аффектило таблицу ролей? Тупо не указывать caskade? P.S.: читаю hibernate-reference и гуглю второй вечер - но до сих пор полной ястности что при каком маппинге произойдет нет. Заранее спасибо |
| Автор: garbuz 27.5.2009, 21:55 |
| many-to-many - У каждого пользователя может быть набор ролей и одна и та же роль может быть у многих пользователей. |
| Автор: kaa 28.5.2009, 08:30 |
| garbuz, Спасибо! |
| Автор: MisterCleric 28.5.2009, 09:42 | ||
Эт нормальная практика, что ManyToMany. Вполне логично, что один и тот же пользователь может иметь несколько ролей, и с другой стороны - одна и та же роль может принадлежать нескольким пользователям. Отсюда выходит, что у тебя будет третья таблица типа userRoleLink И отвечая на твой вопрос из цитаты имеем: все изменения пользоателя будут затрагивать только его связку с ролями, т.е. userRoleLink и никак не касаться самих ролей. Думаю, вопрос исчерпан можешь закрывать тему |
| Автор: Samotnik 30.5.2009, 10:41 |
| many to many сможешь любому юзеру дать любую роль і наоборот |
| Автор: kaa 30.5.2009, 12:07 |
| Спасибо всем! |