[개발] ORM

SangDosa·2024년 1월 17일

Spring

목록 보기
5/10

ORM(Object-Relational Mapping)

자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법

장점

SQL을 직접 작성하지 않고 사용하는 언어로 데이터베이스에 접근 가능하기 때문에 비즈니스 로직에만 집중해서 개발이 가능

단점

복잡한 SQL을 ORM으로 사용하는 부분은 불가능 할 수도 있기 때문에 SQL 작성이 불가피


JPA

자바 객체와 데이터베이스를 연결해 데이터를 관리, 객체 지향 도메인 모델과 데이터베이스의 다리 역할

하이버네이트

JPA의 인터페이스를 구현한 구현체, 자바용 ORM 프레임 워크

엔터티 매니저

  • 엔터티를 관리해 데이터베이스와 어플리케이션 사이에서 객체를 생성, 수정, 삭제 등을 하는 역할
  • @PersistenceContext 또는 @Autowired 를 통해서 엔티티 매니저 사용
    ※ 엔터티: 데이터베이스의 테이블과 매핑되는 객체

영속성 컨텍스트

  • 엔터티를 관리하는 가상의 공간, 데이터베이스에서 효과적으로 데이터 수집 및 엔터디 활용에 용이
  • 1차 캐시, 쓰기 지연, 변경 감지, 지연 로딩에 대한 특징을 가지고 있음
profile
조용한 개발자

0개의 댓글