[SpringBoot] - Spring Data JPA

ACAI BERRY DEVELOVER·2023년 6월 17일
0
post-thumbnail

JPA('Java Persistence Api')는 Java 언어를 통해서 데이터베이스와 같은 영속 계층을 처리하고자 하는 스펙이다.
JPA를 이해하기 위해서는 우선은 ORM(Object-Relational Mapping)이라는 기술에 대해 알아야 한다.

ORM과 JPA

  • ORM(Object Relational Mapping)은 객체지향과 관련이 있다.
  • '객체지향 패러다임을 관계형 데이터베이스에 보존하는 기술'이다.
    패러다임 입장에선 객체지향 패러다임을 관계형 패러다임으로 매핑해주는 개념이다.
  • '객체지향'의 구조가 '관계형 데이터베이스'와 유사하다는 점에서 시작한다.
    ex) 클래스 - 테이블
    인스턴스 - Row(Recored 혹은 Tuple)
    관계 - 참조
  • 이러한 특징으로 객체지향을 자동으로 관계형데이터베이스에 맞게 처리해주는 것이 ORM의 시작이다.
  • ORM은 '객체지향'과 '관계형' 사이의 변환기법을 말한다.
  • 특정 언어에 국한되는 것이 아니고, 관계형 패러다임을 가지고 있다면 데이터 베이스의 종류를 가리지 않는다.
  • 현실적으로 객체지향을 지원하는 여러 언어에서 ORM을 위한 여러 프레임워크가 있다.
  • JPA 는 'Java Persistenece Api'의 약어로 ORM을 Java 언어에 맞게 사용하는 '스펙'이다.
  • ORM은 상위 개념이고, JPA는 Java라는 언어에 국한된 개념이다.
  • JPA는 단순스펙이므로 해당 스펙을 구현하는 구현체마다 회사의 이름이나 프레임워크의 이름이 다르다.
  • Hibernate, TopLink, Eclipselink 등 여러 프레임워크가 있지만 Hibernate가 제일 많이 쓰인다.
profile
쓸때 대충 쓰지 말고! 공부하면서 써!

0개의 댓글