[스프링 DB 2편] 다양한 데이터 접근 기술
포스트
취소

[스프링 DB 2편] 다양한 데이터 접근 기술

다양한 기술들

실무에서는 다양한 데이터 접근 기술들을 사용한다.
각 기술의 핵심 기능 위주로 일부만 맛을 보도록 하자.
이 과정을 통해 각 기술의 특징과 장단점을 이해하고,
데이터 접근 기술에 대한 기본 이해와 전체적인 큰 그림을 그리는 방법을 배워보자.

종류

  • JdbcTemplate
  • MyBatis
  • JPA, Hibernate
  • 스프링 데이터 JPA
  • Querydsl

분류

위 기술들은 크게 2가지 분류로 나누어진다.

  • SQLMapper
    • JdbcTemplate
    • MyBatis
  • ORM 관련 기술
    • JPA, Hibernate
    • 스프링 데이터 JPA
    • Querydsl

SQL Mapper

  • 개발자가 SQL만 작성하면 해당 SQL의 결과를 객체로 편리하게 매핑해준다.
  • JDBC를 직접 사용할 때 발생하는 여러가지 중복을 제거해준다.

ORM

  • 기본적인 SQL은 JPA가 대신 작성하고 처리해준다.
    • JdbcTemplate이나 MyBatis같은 SQL 매퍼 기술은 SQL을 개발자가 직접 작성해야 한다.
  • 개발자는 저장하고 싶은 객체를 마치 자바 컬렉션에 저장하고 조회하듯이 사용하면 된다.
    • 그러면 ORM 기술이 데이터베이스에 해당 객체를 저장하고 조회해준다.
  • JPA는 자바 진영의 ORM 표준이다.
  • Hibernate(하이버네이트)는 JPA에서 가장 많이 사용하는 구현체이다.
  • 자바에서 ORM을 사용할 때는 JPA 인터페이스를 사용하고, 그 구현체로 하이버네이트를 사용한다.
  • 스프링 데이터 JPA와 Querydsl은 JPA를 더 편리하게 사용할 수 있게 도와주는 기술들이다.
    • 실무에서는 JPA를 사용한다면 이 기술들도 함께 쓰는 것이 좋다.

출처

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.