[Spring] 스프링 DB 2편 7-1. Querydsl 소개1 - 기존 방식의 문제점

강우엉·2023년 8월 31일

Spring

목록 보기
326/359


만약 긴급 요구사항이 추가된다면?

String sql=select * from member”+where name like?”+and age between ? and ?”

위와같이 쿼리를 짤것이다.

하지만 여기에는 문제점이 있다.

QUERY의 문제점

  • QUERY는 문자, Type-check 불가능
  • 실행하기 전까지 작동여부 확인 불가

만약 SQL이 클래스처럼 타입이 있고 자바 코드로 작성 할 수 있다면?
이러한것을 Type-safe라고 한다.

바로 QueryDsl이 쿼리를 Java 코드로 개발할 수 있게 지원하는 프레임워크이다. 주로 JPA 쿼리(JPQL)사용

JPA에서 QUERY 방법은 크게 3가지
1. JPQL(HQL)

  • 장점: SQL QUERY 와 비슷해서 금방 익숙해짐
  • 단점:type-safe아님, 동적쿼리생성이어려움
  1. Criteria API
  • 장점:동적쿼리생성이쉬움??
  • 단점
    • type-safe 아님
    • 너무 복잡합
    • 알아야 할게 많음
  1. MetaModel Criteria API(type-safe)
  • 마찬가지로 너무 복잡

그래서 QueryDsl이 등장한다!

profile
우엉이의 코딩 성장일기💻

0개의 댓글