Описание проблемы;
У меня есть модель пользователя с набором ролей (отношение многие ко многим). Я хотел бы выбрать из базы данных (MySQL) пользователя, у которого есть именно эти роли, которые я спрашиваю (не больше, не меньше).
Это мой запрос (не работает должным образом), если я ищу пользователей с ролями Администратор и Пользователь:
select * from login.user u join user_role ur on u.id = ur.user_id join role r on ur.role_id = r.id where r.name in ('ROLE_ADMIN', 'ROLE_USER')
Эквивалент из Hibernate (NativeQuerty);
select * from user u join user_role ur on u.id = ur.user_id join role r on ur.role_id = r.id where r.name in (:roles)
В этом запросе возвращаются пользователи с ролями Администратор или Пользователь. В этом случае я являюсь пользователем Admin и .
Если спросить пользователя с ролью администратора, я бы хотел, чтобы пользователи имели только роли администратора.