JPA(Java Persistence API)

시바코코개발자·2023년 9월 13일
0

jpa

목록 보기
1/1

ORM(Obejct Relational Mapping)

객체 진영과 RDB 진영을 자동으로 매핑하여 구조의 불일치를 개발자 대신 해결해주는 기술의 총칭이다. 객체지향 구조에서 프로그래밍 언어를 사용하여 RDB의 데이터를 조작하는 방법이다.

(매핑은 검색이다. 객체 중심이니깐 클래스를 만들면 RDBMS에 생성이 자동으로 된다.)

** 여기서 구조의 불일치


JPA(Java Persistence API)-추상화했다는 것은 더 편하게 개발하기 위해 만들어진 작업

ORM을 사용하기 위한 설계도(틀)이다.
Java Application용 RDB 매핑관리를 위한 인터페이스(틀)이며, DBMS벤더사에 의존하지 않고 독립적으로 ORM을 사용할 수 있는 ORM표준이다.
인터페이스이기 때문에 구현되어 있지 않은 틀만 제공하며, 자체적인 작업을 수행하지 않는다.
JPA에 설계된 구조에 맞춰서 각 메소드를 재정의하여 직접 ORM을 구현하여 사용해야 한다.
JPA는 ORM을 사용할 수 있는 JAVA 인터페이스를 제공하는 ORM접근 방식이며, 구현되지 않은 JPA를 ORM이라고 말하기는 어렵다.

Hibernate Framework

모든 Java Application에 대해 객체 관계를 그대로 유지한 채 쿼리 서비스를 제공하는 오픈 소스(비용없이 공개적으로 사용가능)의 경량 ORM이다. JPA를 구현한 구현체이며, 여러 구현체 중 가장 대표적인 구현체이다.
객체 간 관계 구성을 지원하며, 상속,지연성,페이징 처리, 예외 처리 불필요를 지원한다.

Spring Data JPA - JPA를 추상화시킴

JPA를 추상화한 Repository 인터페이스를 제공하여 JPA를 쓰기 편하게 다양한 기능을 지원한다. 내부적으로는 JPA를 사용한다. JPA를 모르면 내부구조를 이해하기 힘들 수 있다.

0개의 댓글