JPA(Java Persistence API)는 Java에서 데이터를 영구적으로 저장하기 위한 API입니다. 이 때, 저장하는 대상이 되는 데이터는 흔히 '엔티티'라고 부릅니다. JPQL(Java Persistence Query Language)은 이런 엔티티 객체를 대상으로 쿼리를 수행하는 언어입니다. 즉, SQL과 비슷한 문법을 사용하지만 데이터베이스 테이블이 아닌 엔티티 객체를 대상으로 합니다.
테이블: 테이블은 데이터베이스의 가장 기본적인 구성 요소입니다. 행(Row)과 열(Column)으로 이루어져 있으며, 이는 각각 데이터 레코드와 그에 해당하는 데이터의 속성을 나타냅니다.
엔티티: 객체 지향 프로그래밍에서 데이터는 '객체'라는 형태로 다루어집니다. 이 때, 데이터베이스의 한 행(row)을 표현하는 객체를 '엔티티'라고 부릅니다. 엔티티는 데이터베이스의 테이블 구조를 반영한 클래스로서, 각 인스턴스는 테이블의 한 행을 의미합니다.
웹 애플리케이션에서 클라이언트의 요청을 처리하는 과정은 다음과 같습니다:
웹 애플리케이션은 일반적으로 다음의 세 가지 계층으로 분리됩니다: