querydsl2 [Refactoring] @Builder와 Q-Type의 충돌 @Builder를 적용한 Entity Spring Boot에서 다음과 같은 방법으로 어노테이션으로 편리하게 Builder패턴을 적용할 수 있었다. @Embeddable @AllArgsConstructor(access = AccessLevel.PRIVATE) @Builder(builderMethodName = "addressBuilder") @ToString(of = {"city", "street", "detail"}) @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter public class Address { private String city; private String street; private String detail; public static.. 2021. 4. 14. [QueryDSL] JPQL vs Query DSL SQL과 오타 Mybatis, JDBC Template, JPQL 은 모두 쿼리문을 String 형식으로 직접 작성해서 구현하게 된다. 심지어 Spring Data JPA도 때때로 NativeQuery로 작성해야 한다. 백엔드 개발 경험이 한 번이라도 있다면, 쿼리를 작성하다가 오타가 난 경험이 있을 것이다. String으로 이뤄져 있기에 컴파일 단계에서 디버깅이 불가능하다. 그 말은 에러가 발생해도 띄어쓰기를 잘못 한 건지 대소문자를 잘못 쓴건지 알 수가 없다는 말이다. QueryDSL은 자바코드로 쿼리를 만들기 때문에 컴파일 시점에서 오류를 잡을 수 있고, 메서드 형식으로 작성하기 때문에 IDE 코드 어시스턴트의 도움도 받을 수 있다. 특히 현업에서 여러 번의 Join과 동적쿼리를 작성할 때, 그 진.. 2021. 3. 26. 이전 1 다음 728x90