Im пытаясь определить власти-по-имя пользователя-запрос: для Spring SecuritySQL Query возвращает слишком много данных
SELECT u.username, r.authrole FROM users u, roles r, user_role ur
WHERE u.id = ur.userid AND u.username = 'dit'
Его неловкого, но этот запрос возвращает неправильный результат, и я не могу это исправить ,
Результат:
username authrole
-----------------------
dit ROLE_ADMIN
dit ROLE_USER
вот мои таблицы:
пользователей:
id username password
---------------------------------
1 admin *****
2 dit *****
USER_ROLE:
userid roleid
---------------------
1 1
2 2
роли:
id authrole
---------------------
1 ROLE_ADMIN
2 ROLE_USER
UPDATE: я взял этот плохой запрос от этого example on github
Is «Result» Ваш ожидаемый результат? –
'FROM users u JOIN user_role ur ON u.id = ur.userid роли JOIN r ON r.id = ur.roleid WHERE u.username = 'dit'' - использовать реальные объединения вместо подразумеваемых кросс-соединений, это особенно важно если вы не знаете, как проверить, что вы правильно делаете свои соединения. – scragar