JPA, Hibernate, Spring Data JPA

bird.j·2021년 4월 19일
0

JPA

목록 보기
1/13

💡 ORM(Object Relational Mapping)이란?


📌 객체-관계 매핑

  • Object : 객체(자바)

  • Relational : DB



💡 ORM의 존재 이유?


  • 백엔드 개발자가 비즈니스 로직 개발보다 SQL 작성에 더 많은 노력을 들여야한다.

  • SQL 작성이 단순하고 반복적인데 실수하기는 쉽다.

  • 웹 서버 개발 언어와 관계형 데이터베이스 언어의 목적 및 사용 방법이 다르다.





💡 JPA(Java Persistence API)


📌 자바 ORM 기술에 대한 표준 명세

자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스. (특정 기능을 하는 라이브러리가 아니다.)

  • JPA가 없으면 직접 SQL 문을 작성해서 구현이 가능하다.

  • 전 세계적 트렌드



💡 Hibernate


📌 JPA는 표준 명세, hibernate은 이를 실제 구현한 프레임워크.
즉, 인터페이스를 직접 구현한 라이브러리.

JPA와 Hibernate은 마치 자바의 interface와 해당 interface를 구현한 class와 같은 관계.

  • hibernate는 JPA의 구현체

  • 사실상 표준(비공식적인 표준)



💡 Spring Data JPA


📌 JPA를 쓰기 편하게 만들어놓은 모듈.
Repository가 Spring Data JPA의 핵심.

0개의 댓글