Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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 и гуглю второй вечер - но до сих пор полной ястности что при каком маппинге произойдет нет.

Заранее спасибо smile

Автор: 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
сможешь любому юзеру дать любую роль і наоборот  smile 

Автор: kaa 30.5.2009, 12:07
Спасибо всем!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)