JPA) JPA, Hibernate, ORM

YIHN·2024년 2월 1일

SpringBoot

목록 보기
3/10

ORM

객체-관계 매핑을 자동화하는 개념

JPA

자바에서 ORM을 구현하기 위한 표준 인터페이스로,
객체 지향 애플리케이션과 관계형 데이터베이스 사이의 데이터를 매핑하고 조작하는데 사용

Hibernate

JPA를 사용해 객체와 데이터베이스 간의 매핑을 자동화해 개발자가 직접 SQL 쿼리를 작성하지 않고도 데이터베이스에 상관없이 상호 작용할 수 있도록 처리하는 프레임워크
(JPA의 구현체 중 하나로, JPA의 규격을 따르면서 독자적인 기능을 제공하는 ORM 프레임워크)

ORM 장점/단점

  • 장점
    - 클래스의 메서드를 통해 데이터베이스를 조작 가능(객체에 대한 코드를 별도로 작성해 코드의 가독성 향상)

    • 코드의 재사용, 유지보수, 리팩토링 용이(독립적인 객체로 작성되어 있어 재활용 가능)
    • DBMS 종속성 하락(객체의 자료형 타입 지정, 객체 간의 관계가 더 중요하기 때문)
  • 단점
    - 객체-관계 간의 불일치 발생 가능
    - 세분성 : 데이터베이스에 있는 테이블 수보다 더 많은 클래스를 가진 모델
    - 상속성 : RDBMS는 상속 개념이 없음

    • 속도 저하 및 일관성에서 문제 생길 가능성이 있음(프로젝트의 복잡성 또는 잘못된 설계가 원인)
      - 대형 SQL문은 속도를 위해 별도의 튜닝이 필요→SQL 사용이 필요할 수도 있음
profile
오늘도 YIHN

0개의 댓글