일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- ㅔㄴ션
- 예약
- ubuntu
- foreignkey
- 서브쿼리
- 참조키
- querydsl
- 적용우선순위
- 포트
- subquery
- appspec.yml
- 커밋메세지수정
- AuthenticationEntryPoint
- MySQL
- 2 > /dev/null
- 추후정리
- 외부키
- EC2
- docker명령어
- appspec
- 네이티브쿼리
- WeNews
- application.yml
- 메소드명
- Query
- 검색
- 테스트
- 메세지수정
- 테스트메소드
- 컨테이너실행
Archives
- Today
- Total
제뉴어리의 모든것
@Query 어노테이션에서 Native SQL 사용법 본문
@Query어노테이션, JPQL(Java Persistence Query Language)
Programming/Java & Spring2019. 4. 17. 14:33
@Query어노테이션, JPQL(Java Persistence Query Language)
이게 이건지 모르고 사용했는데 또 하나 알게 되었다.
public interface CustomerRepository extends JpaRepository<Customer, Integer> {
@Query("SELECT x FROM Customer x ORDER BY x.firstName, x.lastName")
List<Customer> findAllOrderByName();
}
JPA는 JPQL 뿐만 아니라 SQL도 사용할 수 있는데 스프링 데이터 JPA에서 다음과 같이 @Query에 nativeQuery=true 를 지정하면 SQL을 사용할 수 있다.
@Query(value="SELECT id, first_name, last_name FROM customers ORDER BY first_name, last_name", nativeQuery=true)
하지만 이렇게 SQL을 사용한다면 JPA의 장점을 활용할 수 없으며 기본으로 JPQL을 사용하고, 벤더에 의존하는 구문을 꼭 사용해야하는 복잡한 쿼리를 기술할 때만 SQL을 사용하면 된다.
출처: https://effectivecode.tistory.com/1051 [Mr.후]
'MySql' 카테고리의 다른 글
프로시저로 반복 데이터 Insert (0) | 2021.02.12 |
---|---|
외래기 지정시 옵션 (0) | 2021.02.10 |
[SQL] GROUP, HAVING (0) | 2021.01.21 |
LEFT JOIN 과 RIGHT JOIN (0) | 2021.01.20 |
[Maria DB] 유용 query (0) | 2021.01.13 |