В своем классе сущностей, когда вы объявляете отображение от пользователя к роли, попробуйте указать fetchType для EAGER. Примерно так:
@OneToMany(fetch=FetchType.EAGER)
public Collection<Role> getRoleSet(){
...
}
UPDATE :
Последние комментарии, полученные этим ответом, заставляют меня вернуться к этому. Прошло много времени с тех пор, как я ответил, когда я только начал работать с Hibernate. То, что говорят Рафаэль и Мукус, разумно. Если у вас большая коллекция, вы не должны использовать нетерпеливую выборку. Он совместно выбирает все данные, сопоставленные с вашей записью, и загружает в память. Альтернативой этому является использование отложенной выборки и открытие сеанса Hibernate каждый раз, когда вам нужно работать над связанной коллекцией, т.е. каждый раз, когда вам нужно вызвать метод getRoleSet. Таким образом, Hibernate будет выполнять запрос на выборку к базе данных каждый раз, когда вызывается этот метод, и не сохраняет данные коллекции в памяти. Вы можете обратиться к моему сообщению здесь для деталей: http://khuevu.github.io/2013/01/20/understand-hibernate.html
Тем не менее, это может зависеть от вашего фактического варианта использования. Если данные вашей коллекции невелики, и вам часто приходится запрашивать данные, вам будет лучше использовать активную выборку. Я думаю, что в вашем конкретном случае коллекция ролей, вероятно, достаточно мала и подходит для активного поиска.