LINE에서 커머스 플랫폼 엔지니어로 일하고 있습니다.
안녕하세요. Global EC(Global E-Commerce, 이하 GEC)에서 주문 파트 개발을 담당하고 있는 서종현입니다. GEC에서는 서버 프레임워크로 Spring을 주로 사용하며 ORM 기술로 JPA를 사용하고 있습니다. 그동안 간단한 쿼리는 Spring에서 제공하는 Query Method를 이용하고, 복잡한 쿼리는 JPA Specification과 Criteria API를 이용해 작성하고 있었는데요. 두 라이브러리를 사용하면서 여러 가지 불편한 점이 있었습니다. 이런 불편 사항을 해소하기 위한 과정에서 라이브러리를 개발했고, 이 라이브러리를 확장해 Kotlin JDSL이라는 오픈소스를 만들었습니다. 이번 글에서는 Kotlin JDSL(JPA Domain Specific Language)을 만든 배경과, Criteria API와 비교해서 어떤 점에서 더 편리한지 설명드리겠습니다. Criteria API를 사용하면서 불편했던 점