본문 바로가기

면접준비

Spring JDBC, Spring Data JDBC, Spring Data JPA 의 차이점을 설명해 주세요.

- Spring JDBC 란?
    - JDBC (Java Database Connectivity) 는 Java 기반 애플리케이션의 코드 레벨에서 사용하는 데이터를 데이터베이스에 저장 및 업데이트 하거나 반대로 데이터베이스에 저장된 데이터를 Java 코드 레벨에서 사용할 수 있도록 해주는 Java 에서 제공하는 표준 사용(또는 명세, Specification) 입니다.
    - JDBC의 동작 흐름
        - Java 애플리케이션 -> JDBC API -> JDBC 드라이버 -> 데이터베이스
        - Java 애플리케이션에서 JDBC API를 이용해 적정한 데이터베이스 드라이버를 로딩한 후, 데이터베이스와 인터렉션한다.

 

 

Spring JDBC, Spring Data JDBC, Spring Data JPA는 데이터베이스 접근 방식에 따라 추상화 수준과 기능이 다릅니다.

Spring JDBC는 가장 기본적인 방식으로, SQL을 직접 작성하고 결과를 수동으로 매핑합니다. 세밀한 제어가 가능하지만 많은 코드가 필요합니다.

Spring Data JDBC는 중간 수준의 추상화를 제공합니다. 기본적인 CRUD 작업을 자동화하고 간단한 ORM 기능을 제공하지만, 복잡한 관계 매핑은 지원하지 않습니다.

Spring Data JPA는 가장 높은 수준의 추상화를 제공합니다. JPA를 기반으로 복잡한 객체-관계 매핑, 지연 로딩, 캐싱 등 고급 기능을 지원합니다. 기능이 가장 풍부하지만 학습 곡선이 가파릅니다.

선택은 프로젝트의 복잡성, 팀의 경험, 성능 요구사항 등을 고려해야 합니다. 간단한 프로젝트는 Spring JDBC나 Spring Data JDBC로 충분할 수 있고, 복잡한 도메인 모델을 가진 프로젝트는 Spring Data JPA가 적합할 수 있습니다.

'면접준비' 카테고리의 다른 글

ORM이 무엇인지 설명해주세요  (0) 2024.08.11
Spring MVC 에서의 예외 처리 기법에 대해서 설명해주세요.  (0) 2024.08.11
Rest Client란?  (0) 2024.08.05
ResponseEntity에 대한 설명  (0) 2024.08.04
공통질문 부분  (0) 2024.08.04