ORM

432421412·2023년 7월 23일
0

ORM(object-relational mapping)은 객체와 데이터베이스를 연결하는 기법

장점

  1. SQL을 직접 작성하지 않고 사용하는 언어로 데이터베이스에 접근할 수 있다.

  2. 객체지향적으로 코드를 작성할 수 있기 때문에 비즈니스 로직에만 집중할 수 있다.

  3. 데이터베이스 시스템이 추상화되어 있기 때문에 MySQL에서 PostgreSQL로 전환한다고 해도 추가로 드는 작업이 거의 없다. 따라서 데이터베이스 시스템에 대한 의존성이 줄어든다.

  4. 매핑하는 정보가 명확하기 때문에 ERD에 대한 의존도를 낮출 수 있고 유지보수할 때 유리하다.

ERD(Entity Relationship Diagram)는 데이터베이스 구조를 한 눈에 알아보기 위해 그려놓는 다이어그램이다.

단점

  1. 프로젝트의 복잡성이 커질수록 사용 난이도가 올라간다.

  2. 복잡하고 무거운 쿼리는 ORM으로 해결이 불가능한 경우가 있다.

자바 ORM

자바에서는 JPA(java persistence API)를 표준으로 사용한다.
JPA는 자바 객체와 데이터베이스를 연결해 데이터를 관리한다.
JPA는 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스인데, 인터페이스이므로 실제 사용을 위해서는 ORM 프레임워크를 추가로 선택해야 한다.

대표적으로 하이버네이트(hibernate)를 많이 사용한다.
하이버네이트는 JPA 인터페이스를 구현한 구현체이자 자바용 ORM 프레임워크다.
내부적으로는 JDBC API를 사용한다.
하이버네이트의 목표는 자바 객체를 통해 데이터베이스 종류에 상관없이 데이터베이스를 자유자재로 사용할 수 있게 하는데 있다.

profile
HeeYun's programming study

0개의 댓글