Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- R실습
- java
- 웹크롤링
- 문자열함수
- 조건인덱싱
- requests 모듈
- 야구게임 코드
- 파이썬
- range retention
- 데이터프레임 정보 조회
- 구구단
- r연습문제
- classic retention
- Python
- 함컴타자연습
- 프로그래머스 풀이
- R
- 웹크롤링 실습
- R기초
- 문자열reverse
- 데이터프레임조회
- rolling retention
- pandas
- 파이썬 야구게임
- 타자연습파이썬
- 파이썬예제
- 특정값 추출
- 피처벡터화
- 네이버웹툰크롤링
- 웹크롤링 예제
Archives
- Today
- Total
서비스 기획자의 성장기록
[SprintBoot] Repository에 쿼리문 작성하기 본문
JPQL 쿼리 작성 규칙 (@Query 어노테이션 사용 시)
- JPQL 쿼리 작성: @Query 어노테이션 안에 작성하는 쿼리는 JPQL 형식을 따라야 합니다. JPQL은 데이터베이스 테이블이 아닌 엔티티 객체를 기반으로 쿼리를 작성하는데, 이는 SQL의 테이블과 칼럼 대신에 엔티티와 속성을 사용한다는 것을 의미합니다.
- 엔티티 이름 사용: JPQL 쿼리에서는 엔티티 클래스의 이름을 사용하여 쿼리를 작성합니다. SQL에서는 테이블 이름을 사용하는 것과 달리, JPQL에서는 엔티티 클래스의 이름을 사용하여 쿼리를 작성합니다.
- 별칭(alias) 사용: 엔티티와 속성에 대한 별칭(alias)을 사용하여 쿼리를 작성할 수 있습니다. 별칭은 쿼리를 보다 간결하게 작성할 수 있도록 도와줍니다.
- 매개변수 바인딩: 쿼리 안에서 사용되는 매개변수는 : 기호를 사용하여 바인딩합니다. 이를 통해 동적으로 쿼리를 생성할 수 있습니다.
- Named Parameter 사용: @Query 어노테이션에서 매개변수를 사용할 때는 named parameter를 사용합니다. 이는 :매개변수명 형식으로 지정합니다.
- 오른쪽 JOIN 사용 시 Fetch 조인 사용: JPQL에서 오른쪽 조인을 사용할 때는 FetchType.EAGER를 사용한 Fetch 조인을 권장합니다.
- 주석 사용: JPQL 쿼리 내에서 SQL과 마찬가지로 주석을 사용할 수 있습니다. 주석은 --나 /* */ 형식으로 사용할 수 있습니다.
예시
@Query("SELECT b FROM BoardEntity b WHERE b.boardTitle LIKE %:keyword% OR b.boardContent LIKE %:keyword% OR b.boardWriter LIKE %:keyword%")
List<BoardEntity> findByAllContaining(@Param("keyword") String searchKeyword);
@Query("SELECT b FROM BoardEntity b WHERE b.boardTitle LIKE %:keyword% OR b.boardContent LIKE %:keyword%")
List<BoardEntity> findByTitleContentContaining(@Param("keyword") String searchKeyword);