- Spring JDBC와 MyBatis 같은 쿼리 매핑 프레임워크는 애플리케이션 내에 데이터베이스를 위한 SQL 로직이 강하게 결합된다.
- 애플리케이션 내부에서 DB에 접속하기 위해 저레벨의 문법을 반복해서 사용해야하기 때문에 유지보수도 어렵고, 설정 파일 관리도 어렵다.
- 이런 SQL 중심의 패러다임에서 객체 중심의 개발을 도모하기 위해 ORM이 도입되었다.
- ORM은 자바의 객체(엔티티)와 관계형 DB의 테이블을 매핑하여 객체들간의 관계를 테이블 간의 관계로 표현이 가능하게 해준다. 그리고 이 엔티티에 대한 쿼리문 작성도 자동화하여 애플리케이션 로직에 집중할 수 있도록 해준다.
- Java 진영에서 ORM을 구현하기 위해 JPA를 개발하였고, 스프링에서 이를 구현하기 위해 Spring Data JPA와 좀 더 가벼운 모듈인 Spring Data JDBC를 런칭하였다.
의존성 추가 및 패키지 디렉토리 구성
implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
runtimeOnly 'com.h2database:h2'
- 디렉토리는 크게 신경쓰지 않고, 테스트를 위해서 필요한 계층만을 한 패키지에 모아두고 사용해본다.
