[Spring] JPA에 대해 알아보자~

김우경·2021년 5월 31일
0

JPA란

자바의 ORM 기술 표준으로 인터페이스의 모음이다. → 이를 실제로 구현한 구현체가 하이버네이트

  • ORM?
    Object Oriented Mapping: RDB 테이블을 객체지향적으로 사용하기 위한 기술

Java 어플리케이션과 JDBC 사이에서 동작한다.

→ 개발자가 JPA를 사용하면 JPA 내부에서 JDBC API를 사용하여 SQL을 호출하고, DB와 통신한다.

Spring Data JPA

JPA를 한단계 더 추상화시킨 Repository 인터페이스를 제공

→ 정해진 규칙대로 메소드를 입력하면, 해당 메소드에 맞는 쿼리를 날리는 구현체를 만들어서 Bean으로 등록해준다.

장점

  • 반복된 코드를 제거하므로 생산성이 크게 향상
  • SQL을 직접 실행함으로서 객체 중심의 설계가 가능 → SQL 중심 개발? 코드 반복이 많음, 모델링 과정에서 문제 발생
  • 기본적인 CRUD를 제공한다. 개발자가 핵심 비즈니스 로직에만 집중할 수 있게 해준다.

단점

  • 복잡한 쿼리보다는 실시간 처리용 쿼리에 최적화되어있다.

    : 통계와 같이 미세하게 쿼리작업이 필요하면 Mybatis등의 다른 Mapper 방식을 사용해야한다

profile
Hongik CE

0개의 댓글