@Repository
public interface UserRepository extends JpaRepository<User, Long> {

    //select * from where account = ?
    Optional<User> findByAccount(String account);

    Optional<User> findByEmail(String email);

    //select * from where account = ? and email = ?
    Optional<User> findByAccountAndEmail(String account, String email);

    //id를 역순으로 검색하여 가장 마지막에 등록된 핸드폰번호 하나를 가져옴
    User findFirstByPhoneNumberOrderByIdDesc(String phoneNumber);
}
  • 쿼리문을 메소드 형태로 작성하는 것
  • findById 이외의 컬럼으로 where 절을 만들고 싶을 때 QueryMethod를 선언한다.
  • findBy[필드명] 형식이며 파라미터는 순서대로 매칭된다.