问题描述;
我有一组角色的用户模型(很多取代)。 我想从数据库(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)
此查询返回具有管理员或用户角色的用户。 在这种情况下,我是管理员和用户。
如果询问具有管理员角色的用户,我希望只有管理员角色的用户。
答案 0 :(得分:0)
您基本上是在说“在查询中给我所有具有'ROLE_ADMIN'或'ROLE_USER'或两者兼有的用户”。如果仅指定您感兴趣的角色,则将获得必要的结果。
这仅返回管理员,例如:
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')