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