-
spring batch에서 JPASQLQuery를 사용한 이유JPA 2021. 4. 5. 22:18반응형
querydsl 객체들에 대한 자세한 설명은 아래 링크를 참조하자 해당 글은 제가 왜 batch에서 JPASQLQuery를 사용했는지에 대한 그냥 생각을 정리한 것이다
http://ojc.asia/bbs/board.php?bo_table=LecJpa&wr_id=341
spring batch에서는 어떤 querydsl 객체를 사용해야 효율적일까?
내가 사용하는 querydsl 객체는 JPASQLQuery와 JPAQueryFactory 두가지가 있다
JPASQLQuery는 native sql쿼리를 제공하고 JPAQueryFactory는 jpql을 사용한다
나는 API와 같은 일반 프로젝트에서는 JPAQueryFactory를 사용하지만
batch와 같은 곳에서는 JPASQLQuery를 사용한다 그 이유는
JPASQLQuery 객체가 subquery 쿼리를 지원한다는데에 있다
batch와 같은 곳은 대량의 데이터를 처리하기 때문에 옛날에 mybatis에서 sql을 사용하는 것 처럼 사용할 필요가 있다 물론 그렇다고 옛날 스타일의 한방 쿼리는 절대 아니지만 말이다
from의 subquery와 union과 같은 그리고 우리 프로젝트는 php에서 마이그레이션 한 것들도 있는데 초반에는
시간이 없어서 거의 컨트롤 c, v를 헤야헤서 만들어야 했던 것도 영향이 있었다
해당 글은 batch에서 JPAQueryFactory을 쓰지 않은 이유에 대해 적어보았다
JPASQLQuery에서 subquery와 union 사용법
https://ksk-developer.tistory.com/6
spring batch에서 querydsl item reader
반응형'JPA' 카테고리의 다른 글
QueryDsl where 조건에서 stringtemplate 사용하자 (0) 2021.07.14 Spring Batch with QuerydslItemReader (0) 2020.05.02 QueryDsl - char(1)보다는 varchar(1)을 사용하자 (0) 2019.10.21 QueryDsl from subquery와 join을 해보자! (10) 2019.09.03 QueryDsl - Date 작성시 Expressions.dateTemplate를 사용하자! (2) 2019.09.03