2016년 3월 23일 수요일

[JPA,JPQL강좌]Spring Data JPA에서 Native SQL사용하기,@Query 어노테이션에 nativeQuery=true라고 하면 된다. 물론 DB에서 사용하는 SQL형식으로 쿼리를 사용할 수 있다.

//제너릭 인터페이스
public interface EmpRepository<T> extends Repository<T, Long>
{
//Native SQL, SQL구문은 JPQL형태가 아니라 DB에서 사용하는 SQL형식을 쓰면 된다.
//nativeQuery 값의 default false
//#entityName SpEL 표현이며 위 Repository<T, Long> T객체를 가리킨다.
           @Query(value="select * from #{#entityName} e where e.ename = ?1",
                        nativeQuery=true)
           List<Emp> findByEname(String ename);
          
// 아래는 Native SQL 아님
           @Query(value="select ename, job, sal from Emp e where e.sal > ?1 and e.sal < ?2 ")
           List<Emp> findBySalRange(Long sal1, Long sal2);
}

댓글 없음:

댓글 쓰기