QLRM라이브러리 사용해서 DTO를 매핑해 보겠습니다.
QLRM라이브러리 의존성
<dependency>
<groupId>org.qlrm</groupId>
<artifactId>qlrm</artifactId>
<version>2.1.1</version>
</dependency>
QLRM라이브러리란??
qlrm은 DB에서 Result 된 결과를 자바 클래스에 메핑 해주는 라이브러리.
QLRM를 사용하는 이유
다음과같은 쿼리는 모델의 형태로 리턴 받을 수 없고 DTO로 받아내야 하는 쿼리다. 이처럼 DTO로 받아 내야 하는 쿼리라면 JPARepository를 상속받은 인터페이스로 native쿼리를 짜서 날릴 수 없다. 왜냐하면 상속받은 클래스 타입의 모델만 리턴을 해주기 때문.
그렇기 때문에 DTO로 DB에서 결과를 받아야하면 JPARepository를 사용할 수 없다.
기능예시
그래서 @Service단에서 직접 쿼리를 짜서 던져야한다.
주석이 중요한 내용이고 코드는 그냥 형식만 봐주시면 감사하겠습니다...
postMan으로 테스트!
이제 이렇게 받은 데이터를 뿌리기만하면 끝이다.
'Springboot' 카테고리의 다른 글
@Transient 어노테이션 (0) | 2021.12.31 |
---|---|
Springboot에서 페이징처리/ 스크롤 로딩 하기 (0) | 2021.12.31 |
쿼리조인과 스칼라 서브 쿼리 (0) | 2021.12.24 |
@Service단에서 DB에 변형을 줄때 왜 @Transactional을 습관처럼 꼭 걸어줘야할까? (0) | 2021.12.24 |
이미지 업로드 폴더를 프로젝트 외부에 두는 이유 (0) | 2021.12.19 |