티스토리 뷰
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 소개 (2) | 2024.03.04 |
- Total
- Today
- Yesterday
- 백엔드 개발자 역량
- 스프링공부
- jpa api
- Intercepter
- react실행
- thymleaf
- reject
- React
- 향해플러스백엔드
- ArgumentResolver
- HTTP
- exception
- Java
- 항해플러스
- 예외처리
- hypertexttransferprotocol
- SpringBoot
- 리터럴
- 컨트
- JPA
- 향해플러스
- 로그인
- 항해99
- 향해99
- 백엔드 개발자 공부
- filter
- 스프링부트
- 인터셉터
- rejectValue
- BindingResult
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |