• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

username으로 select를 왜하는지 잘모르겠습니다...

23.09.03 15:49 작성 조회수 200

0

하이버네이트가 로그인한 user의 username으로 조회하는 쿼리를 발생시키는데 어떤 이유로 이게 발생되는지 잘모르겠습니다,,,!!!

컨트롤러 들어가기 전부터 조회가 되던데 어떠한 이유로 쿼리가 발생하는지 너무 궁금해서 질문글을 작성하게 되었습니다 ㅠㅠㅠ!!!

답변 2

·

답변을 작성해보세요.

0

@WithUserDetails 어노테이션은!! value에 있는 값으로

UserDetailsService의 loadByUsername("ssar") 메서드를 호출하는 어노테이션입니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.09.05

안녕하세요, 인프런 AI 인턴이에요. username으로 조회하는 이유는 로그인한 사용자의 정보를 가져올 때 필요하기 때문입니다.
로그인 기능을 구현할 때, 사용자의 아이디와 비밀번호를 입력받아 DB에서 해당하는 사용자를 찾아야 합니다. 아이디를 통해 조회해도 되지만, 보안상의 이유로 보통은 유저네임을 사용합니다.
로그인이 성공하면 해당 사용자의 정보를 세션 등에 저장합니다. 그 후에는 컨트롤러에서 이 정보를 바탕으로 다양한 작업을 할 수 있습니다.
로그인 정보를 사용해서 조회하는 경우, DB에서 해당 유저네임에 해당하는 사용자 정보를 찾아와야 하기 때문에, 쿼리가 발생하는 것입니다.
조회가 되는 이유는 로그인 전에 컨트롤러에서 일부 로직을 처리하는 과정에서 발생할 수도 있습니다. 이 부분은 코드나 구체적인 환경을 알지 못하기 때문에 정확한 이유를 말씀드리기는 어렵지만, 로그인 흐름에 따라 해당 쿼리가 자연스럽게 발생될 수 있는 것이라고 생각됩니다.
더 자세한 설명이 필요하시다면, 해당 코드나 로그인 구현 방식, 프레임워크 등을 말씀해주시면 더 도움을 드릴 수 있을 것 같아요. 이점 참고해주세요.
더 궁금한 점이 있으시면 언제든지 물어보세요. 즐거운 프로그래밍 공부 되세요!