본문 바로가기

Spring/JPA

📝 ORM, JPA, Spring Data JPA 정리

ORM(Object Relational Mapping)

  • 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
  • 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용한다. 객체 모델과 관계형 모델 간에 불일치가 존재한다.
  • 데이터베이스 데이터 - object 필드 / 객체를 통해 간접적으로 데이터베이스의 데이터를 다룬다.

 

JPA(Java Persistence API)

  • orm 기술 표준으로 사용되는 인터페이스의 모음
  • java 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스로 jpa를 구현한 것으로는 Hibernate, OpenJPA 등이 있다.
  • 반복적인 CRUD sql을 처리해주고 객체 중심의 개발을 할 수 있기 때문에 사용하면 좋다.

 

Spring Data JPA

  • jpa를 쓰기 편하게 만들어놓은 모듈이다.
  • repository 라는 인터페이스를 제공함으로써 spring이 알아서 해당 메소드 이름에 적합한 쿼리를 날리는 구현체를 만들어서 bean으로 등록해준다.