[JPA] JPQL과 Querydsl (feat. 동적쿼리)
0. 시작하며 이전 프로젝트에 검색 로직을 JPQL로 개발했었습니다. 이를 JPQL로 구현하니 코드가 매우 복잡하고 길어졌고 실무에서 많이 사용한다는 Querydsl을 사용하여 리팩토링하여 기록하려 합니다. 1. JPQL이란? Java Persistence Query Language 로서 이를 기반으로 JPA의 하이버네이트가 SQL문으로 변환하여 사용하게됩니다. 기본 JPA 메서드 보다 섬세한 쿼리를 사용할때 사용하게됩니다. 문자열로 작성됩니다. 특징 (장점) 별칭 엔티티의 별칭을 필수적으로 명시해야합니다.(as 생략 가능) 대소문자 구분 엔티티와 그 속성은 대소문자를 구분하여 작성해야합니다. 하지만 SELECT, FROM, WHERE등의 JPQL문법은 구분하지 않습니다. 엔티티 이름 JPQL에서 사용되..