티스토리 뷰

JPA

Hibernate

절취선 2022. 5. 8. 00:17
반응형

🚀 Hibernate

Hibernate는 JPA의 인터페이스를 구현한 구현체이다.

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

🚀 JPA(Java Persistent API)

JPA는 자바 진영의 ORM 기술 표준이며 관계형 데이터베이스자바 객체를 매핑하기 위한 EntityManager
인터페이스를 제공한다.

🌠 장점

  • CRUD 쿼리를 자동으로 생성해준다.
  • DB 종류에 상관없이 사용 가능하다.
  • Entity에 속성만 추가해준다면 쿼리를 건들 필요가 없다.

🌠 단점

  • 상대적으로 학습이 어렵다.
  • 복잡한 쿼리 작성이 어렵다.
  • 동적 쿼리 같은 복잡한 쿼리를 처리하는 것이 어려우므로 QueryDSL을 함께 이용한다.

🚀 Spring Data JPA

JPA는 인터페이스 다시말해 명세서이며 RDB 환경에서 DB를 어떻게 처리를 해야하는지에 대한 하나의 방법론이다.

이 인터페이스를 유저가 쉽게 다룰 수 있도록 만들어 놓은 모듈Spring Data JPA가 되는 것이다.
기존 EntityManager에서 벗어나 Repository 인터페이스를 사용하여 Spring Framework의 규칙대로 메소드를 입력하여 사용하며
입력된 메소드는 SQL문법에 맞추어 구현체로 만들어 Bean으로 만들어 컨테이너에 저장되게 된다.

🧾 Reference

MyBatis와 JPA의 차이, MyBatis보다 JPA를 사용해야 하는 이유
ORM이란

반응형

'JPA' 카테고리의 다른 글

SQL Mapper vs ORM  (0) 2022.05.10
JPQL(Java Persistence Query Language)  (0) 2022.05.09
영속성 컨텍스트  (0) 2022.05.07
JPA vs Mybatis 차이  (0) 2022.03.10
객체지향 쿼리 JPQL  (0) 2022.02.26
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함