티스토리 뷰

package study.datajpa.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import study.datajpa.entity.Member;

import java.util.List;

public interface MemberRepository extends JpaRepository<Member,Long> {

    List<Member> findByUsernameAndAgeGreaterThan(String username, int age);



}
   @Test
    public void findByUsernameAndAgeGreaterThen(){
        Member m1 = new Member("AAA", 10);
        Member m2 = new Member("AAA", 20);
        memberRepository.save(m1);
        memberRepository.save(m2);

        List<Member> result = memberRepository.findByUsernameAndAgeGreaterThan("AAA", 15);

        Assertions.assertThat(result.get(0).getUsername()).isEqualTo("AAA");
        Assertions.assertThat(result.get(0).getAge()).isEqualTo(20);
        Assertions.assertThat(result.size()).isEqualTo(1);

    }

 

data JPA에서는 메소드이름 만으로 쿼리를 만들 수 있다.

 

https://spring.io/projects/spring-data-jpa#learn

 

Spring Data JPA

Spring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA-based (Java Persistence API) repositories. It makes it easier to build Spring-powered applications that use data access technologies. Implementing a data access l

spring.io

에서 버전에 맞는 reference doc > jpa query methods 에서 가능한 메소드 작명을 확인 할 수 있다. 

 

예) https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html

 

JPA Query Methods :: Spring Data JPA

As of Spring Data JPA release 1.4, we support the usage of restricted SpEL template expressions in manually defined queries that are defined with @Query. Upon the query being run, these expressions are evaluated against a predefined set of variables. Sprin

docs.spring.io

 

김영한 개발자님은 2개 정도 조건까지만 사용한다고 한다.

 

    List<Member> findHelloBy();

 

예시로 이렇게 find...By에서 by이후에 어떤 조건이 없으면 그냥 전체조회를 시킨다.

- 조회 : find...By, read...By, query...By, get...By 등

- COUNT : count...By 반환타입 'long'

- EXISTS : exists...By 반환타입 'boolean'

- 삭제 : delete...By, remove...By 반환타입 'long'

- DISTINCT : findDistinct, findMemberDistinctBy

- LIMIT : findFirst3, findFirst, findTop, findTop3

 

 

 

'dev_공부일지 > spring data JPA' 카테고리의 다른 글

@Query 값 DTO 조회하기 , 파라미터 바인딩  (0) 2024.03.05
JPA NamedQuery  (0) 2024.03.05
JpaRepository의 정체  (0) 2024.03.05
기본 및 설정  (0) 2024.03.04
Spring Data JPA 소개  (0) 2024.03.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함