Spring

[JPA] ORM #1

반응형

ORM(Object Relational Mapping)

  • 정의
    • 객체로 연결을 해준다 라는 의미
    • SQL언어가 아닌 Application 개발 언어로 DB에 접근 가능하게 하는 툴
    • Persistence (영속성) API 
      • 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성
      • 영속성을 갖지 않는 데이터는 단지 메모리 상에서만 존재하기 때문에 프로그램 종료 후 모두 자동 소멸
      • Persistence Framework
        •  기존의 JDBC 프로그래밍의 복잡함과 번거로움 없이 간단한 작업만으로 DB와 연동되는 시스템을 빠르게 개발할 수 있으며 안정적 구동 보장
        • SQL Mapper와 ORM으로 구분
          • SQL Mapper: MyBatis, iBatis
          • ORM: JPA(인터페이스), Hibernate(JPA 구현체)
  • 장점
    • SQL 중심적 개발에서 객체중심으로 개발하여 비즈니스 로직에 집중할 수 있음
    • SQL의 이해가 부족해도 코드레벨로 커버 가능
    • 재사용 및 유지보수의 편리성이 증가
    • DBMS에 대한 종속성 감소
  • 단점
    • ORM만으로는 복잡한 연산 수행이 어려워 필요시 SQL 사용 必
반응형