ORM, JPA, Mybatis

홍예진·2022년 11월 8일
0

🍖DB

목록 보기
2/3

ORM [Object Relational Mapping]

  • 객체-관계 매핑
  • 객체(클래스)와 데이터베이스의 데이터(테이블)를 자동으로 매핑해주는 것.
  • ORM을 통해 객체간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다.
  • = Persistent API
    ex) JPA, Hibernate

JPA [Java Persistence API]

  • Java ORM 기술에 대한 API 표준 명세
  • Hibernate 개발자가 interface 형태로 만든게 JPA라고 한다.
  • 다양한 라이브러리
    ex) Spring Data JPA, Spring Data Redis, Spring data MongoDB
  • 다양한 구현체
    ex) Hibernate, DataNucleus, EclipseLink

*JPA와 Mybatis와의 차이점

  • JPA는 ORM 기술인 반면, Mybatis는 SQL Builder 또는 SQL Mapper의 한 종류

Spring Data JPA

  • Spring Framework에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트
  • CRUD 처리를 위한 공통 인터페이스 제공
  • repository 개발 시 인터페이스만 작성하면 실행 시점에 스프링 데이터 JPA가 구현 객체를 동적으로 생성해서 주입

JpaRepository interface

  • Spring Data JPA 제공 인터페이스. 상속하여 사용한다.
  • 제공되는 메서드를 사용하여 엔티티를 편집하거나 메소드 이름만으로 쿼리를 생성하는 것이 가능하다.

참고

ORM
https://gmlwjd9405.github.io/2019/02/01/orm.html
JPA
https://incheol-jung.gitbook.io/docs/q-and-a/spring/jpa-vs-mybatis
Spring Data JPA
https://data-make.tistory.com/621

profile
기록용 공부용 개발 블로그

0개의 댓글