JPQL 2

[멋사/Mac OS] 5주차 정기 세션 (Part 3. QueryDSL 소개 및 JPQL과 비교)

3. QueryDSL 소개 및 JPQL과 비교(1) JPQL의 단점- 오타나 문법 오류를 컴파일 시에 찾을 수 없음-> 실행 전까지 오류 발견이 불가능-> 개발 중 오류 발견이 어렵고, 실행 중 예외 발생 - 동적 쿼리 작성이 불편-> if문이 많아질수록 가독성이 나빠짐(2) QueryDSL의 장점- 타입 안전성 보장-> 컴파일 시점에 username이 String 타입인지 확인 가능-> 오타가 있으면 바로 에러가 발생하여 실행 전에 오류를 방지 - 동적 쿼리 작성이 간편-> BooleanBuilder를 사용해서 조건을 유동적으로 추가 가능-> if문을 최소화하고 가독성을 높임 JPQLQueryDSL문법문자열 기반코드 기반타입 체크런타임 오류 가능컴파일 시 오류 잡힘동적 쿼리어렵고 복잡유연하고 깔끔ID..

[멋사/Mac OS] 5주차 정기 세션 (Part 2. JPA 쿼리 작성 방법)

2. JPA 쿼리 작성 방법(1) JPQL과 쿼리- JPQL : JPA 전용 객체 지향 쿼리 언어, SQL과 유사하지만 엔티티 중심으로 작성SELECT e FROM EntityName e WHERE e.property = :value -> SQL과 비슷하지만 엔티티 기준으로 작성-> 테이블 이름이 아닌 클래스 이름과 필드명을 사용-> DB 독립적인 쿼리라 이식성이 좋음-> 복잡한 조건도 표현이 가능해서 유연성이 높음 - @Query : JPQL을 써먹을 수 있게 해주는 도구@Query("SELECT m FROM Member m WHERE m.age > :age")List findOlderThan(@Param("age") int age); -> 복잡한 조건, 동적 쿼리, 조인 등 자유도가 높을 때 사용->..