JPQL과 SQL의 차이점과 JPA에서의 매개변수 활용

song yuheon·2023년 10월 3일

JPA

목록 보기
7/9
post-thumbnail

JPQL과 SQL의 차이점과 JPA에서의 매개변수 활용


JPQL과 SQL의 주요 차이점


  1. 정의와 목적

    • SQL
      RDBMS에서 데이터의 CRUD 작업을 위한 표준 질의 언어이다.

    • JPQL
      JPA의 일부로써 객체 지향 쿼리 언어이다.
      엔터티 객체를 대상으로 질의를 수행한다.

  2. 대상

    • SQL
      데이터베이스의 테이블과 칼럼을 질의 대상으로 한다.

    • JPQL
      애플리케이션의 엔터티와 그 속성을 질의 대상으로 한다.

  3. 특성

    • SQL
      RDBMS마다 문법이나 기능의 차이가 있을 수 있어 플랫폼 의존적입이다.

    • JPQL
      JPA 구현체에 의해 SQL로 변환되어 실행되므로 플랫폼 독립적이다.

  4. 사용 예시

    • SQL
      SELECT name, age FROM user_table WHERE age > 20;

    • JPQL
      SELECT u.name, u.age FROM User u WHERE u.age > 20


JPA에서의 매개변수 활용 이유


  1. 동적 쿼리 작성
    매개변수를 활용하면 쿼리 문자열의 조건절이나 데이터를 동적으로 변경할 수 있다.

  2. SQL Injection 방어
    사용자 입력값을 안전하게 처리하여 SQL Injection 공격을 방지한다.

  3. 코드의 가독성
    매개변수의 이름을 통해 쿼리의 목적이나 의미를 명확하게 파악할 수 있다.

  4. 재사용성
    동일한 쿼리 구조에서 다양한 데이터를 조회하려면 매개변수 값을 변경하기만 하면 된다.


profile
backend_Devloper

0개의 댓글