본문 바로가기

DATABASE3

[QueryDSL] queryDSL 도입기 저번에 사용했던 JPA Specification에 이어서 이번에는 QueryDSL을 도입해 보려고 합니다. ▶ QueryDSL 자바 코드로 SQL과 같은 쿼리를 생성해 주는 프레임워크로 기본적으로 @Entity로 등록된 클래스들을 Q클래스로 생성해 사용합니다. JPA를 사용하다 쿼리가 복잡해질 때는 JPQL을 사용하거나 저번에 소개한 Specification을 사용할 수 있습니다. 하지만 다음과 같은 장점 때문에 QueryDSL을 많이 사용합니다. java 코드로 가독성 좋은 쿼리 조건 작성 컴파일 시점에 문법 오류 발견 가능 자동완성 편리 동적인 쿼리 작성 가능 (BoleanBuilder, BooleanExpression 활용) 결국 자바로 작성하기 때문에 작성 중에 IDE에서 컴파일 오류를 잡아줄 뿐.. 2024. 1. 28.
[개발자와 화해하기] 데이터를 정리하는 법 (2) : B-tree 이해하기 기획자와 개발자들은 협업하며 종종 부딪힌다. 정리되지 않은 수많은 아이디어들을 한아름 들고 오는 기획자. 이것도 안되고, 저것도 안된다고 하는 개발자. 둘은 오늘도 서로에게 고개를 저으며 한숨을 내쉰다. 이런 세상의 수많은 기획자와 개발자들 사이 갈등 속 각자 나름의 사정은 천차만별이지만, 근본적인 원인은 크게 다르지 않다. 바로 ‘서로가 서로의 일을 모른다’는 것 우리들은 서로의 일을 조금이나마 이해해 보려 노력할 필요가 있다. 서로를 이해하고 상대방이 바라보는 곳을 함께 바라볼 수 있어야 발전적인 대화가 가능하다. 별 헤는 밤을 기획하면서 나 역시도 개발자들과 수없이 부딪히곤 했고, 다양한 방식으로 문제를 해결해 나가려 노력했다. 이 글에서는 별 헤는 밤 프로젝트를 진행하며 생겼던 사례들을 살펴보며,.. 2023. 11. 21.
[개발자와 화해하기] 데이터를 정리하는 법 (1) : index 이해하기 기획자와 개발자들은 협업하며 종종 부딪힌다. 정리되지 않은 수많은 아이디어들을 한아름 들고 오는 기획자. 이것도 안되고, 저것도 안된다고 하는 개발자. 둘은 오늘도 서로에게 고개를 저으며 한숨을 내쉰다. 이런 세상의 수많은 기획자와 개발자들 사이 갈등 속 각자 나름의 사정은 천차만별이지만, 근본적인 원인은 크게 다르지 않다. 바로 ‘서로가 서로의 일을 모른다’는 것 우리들은 서로의 일을 조금이나마 이해해 보려 노력할 필요가 있다. 서로를 이해하고 상대방이 바라보는 곳을 함께 바라볼 수 있어야 발전적인 대화가 가능하다. 별 헤는 밤을 기획하면서 나 역시도 개발자들과 수없이 부딪히곤 했고, 다양한 방식으로 문제를 해결해 나가려 노력했다. 이 글에서는 별 헤는 밤 프로젝트를 진행하며 생겼던 사례들을 살펴보며,.. 2023. 10. 13.