@pjs9691.log
로그인
@pjs9691.log
로그인
[Spring] ORM, JPA, Hibernate
박진서
·
2025년 6월 4일
팔로우
0
Spring
목록 보기
17/17
1. ORM (Object Relational Mapping)
1) ORM 이란?
ORM은 객체 관계 매핑을 의미
객체와 RDB의 테이블을 자동으로 매핑하는 방법
클래스와 RDB의 테이블의 불일치를 해결하는 역할
SQL 작성이 아닌 Java 코드로 데이터를 조작할 수 있게 해준다.
2) ORM의 장점
객체지향적으로 DB에 접근할 수 있어 가독성이 좋다.
ORM의 통해 매핑된 객체는 모두 독립적으로 작성되어 있어 재사용이 용이하다.
객체들은 각 클래스로 나뉘어 있어 유지보수가 용이하다.
ORM을 통해 자동으로 생성된 SQL은 객체를 기반으로 DB 테이블을 관리하기 때문에 DB에 종속적이지 않다.
3) ORM의 단점
복잡한 쿼리의 경우 ORM만을 사용하여 코드로 구현하기 어렵다.
애플리케이션의 객체 관점과 데이터베이스의 관계 관점의 불일치가 발생한다.
2. JPA (Java Persistence API)
JPA는 Java 진영의 ORM 기술 표준으로 채택된 인터페이스의 모음이다.
JPA의 구현체는 대표적으로 하이버네이트(Hibernate), 이클립스 링크(EclipseLink), 데이터 뉴클리어스(DataNucleus)로 3가지가 있다. 그중 하이버네이트가 가장 많이 사용된다.
3. Hibernate와 Spring Data JPA
하이버네이트는 JPA 구현체 중의 하나이다.
이 하이버네이트의 기능을 개발자가 더욱 편하게 사용하도록 모듈화 한 것이 Spring Data JPA이다.
박진서
백엔드 개발자
팔로우
이전 포스트
Spring 핵심 개념 정리 (POJO, IoC, DI, AOP, PSA)
0개의 댓글
댓글 작성