ORM:JPA

혜쿰·2023년 8월 1일
1

📌 개념

📍 ORM

ORM(Object-relational mapping)이란? 객체 관게 매핑이다. 객체는 객체대로 설계하고, 관계형 데이터베이스는 관계형데이터베이스대로 설계한다. ORM 프레임워크가 중간에서 매핑해준다. 대중적인 언어에는 대부분 ORM 기술이 존재한다.

📍 JPA

JPA(Java Persistence API)란? ORM 기술 표준으로, 실제로 동작하는 것이 아니라 인터페이스의 모음이다. 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. 인터페이스 이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현한다. 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다.
JPA를 구현한 대표적인 오픈소스로 hibernate가 있다.


[출처] JPA란?|작성자 jw

  • JPA를 사용하는 이유
    1) JPA를 자바 컬렉션에 객체를 저장하듯 JPA에게 저장할 객체를 전달한다.
    2) INSERT SQL을 작성하고 JDBC API 사용하는 지루하고 반복적인 일을 JPA가 대신 처리해준다.
    3) CREATE TABLE같은 DDL문 자동 생성한다.
    4) 데이터베이스 설계 중심의 패러다임을 객체 설계 중심으로 역전시킨다.

📍 JPQL

JPQL란? 엔티티 객체를 조회하는 객체지향 쿼리이다. 문법은 SQL과 비슷하고 ANSI 표준 SQL이 제공하는 기능을 유사하게 지원한다. SQL은 데이터베이스 테이블을 대상으로 JPQL은 엔티티 객체를 대상으로 쿼리 한다. JPQL은 SQL을 추상화해서 특정 데이터베이스에 의존하지 않는다. JPQL은 최종적으로 SQL로 변환된다.

1개의 댓글

comment-user-thumbnail
2023년 8월 1일

글 잘봤습니다.

답글 달기