다양한 기술들
실무에서는 다양한 데이터 접근 기술들을 사용한다.
각 기술의 핵심 기능 위주로 일부만 맛을 보도록 하자.
이 과정을 통해 각 기술의 특징과 장단점을 이해하고,
데이터 접근 기술에 대한 기본 이해와 전체적인 큰 그림을 그리는 방법을 배워보자.
종류
- 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를 사용한다면 이 기술들도 함께 쓰는 것이 좋다.