[Spring] 스프링 데이터 JPA와 스프링 데이터 JDBC

DANI·2023년 12월 21일

[Class] Spring-basic

목록 보기
1/8
post-thumbnail

목적의 차이

📕 스프링 데이터 JPA

JPA는 자바 표준 ORM(Object-Relational Mapping) 기술로, 데이터베이스와 자바 객체 간의 매핑을 제공

📕 스프링 데이터 JDBC

JDBC는 자바에서 데이터베이스에 접근하기 위한 자바 API로서 JPA와는 달리 ORM을 사용하지 않고 순수 SQL을 활용


매핑방식의 차이

📕 스프링 데이터 JPA

객체와 데이터베이스 간의 매핑을 위해 어노테이션 기반의 엔터티 매핑을 사용합니다. 개발자는 자바 객체를 엔터티로 정의하고, JPA를 사용하여 이를 데이터베이스 테이블에 매핑할 수 있다.

📕 스프링 데이터 JDBC

순수 SQL을 작성하며, 별도의 객체와 테이블 간의 매핑이 필요하지 않습니다. 대신에, 쿼리 결과를 자바 객체로 매핑하는 데 사용되는 RowMapper와 같은 JDBC의 기능을 활용한다.


편의성 및 유연성의 차이

📕 스프링 데이터 JPA

개발자가 더 높은 추상화 수준에서 작업하므로, 더 편리하게 데이터베이스와 상호 작용할 수 있다. 쿼리 메소드, 동적 쿼리 생성, 페이징 등의 편리한 기능을 제공

📕 스프링 데이터 JDBC

개발자가 직접 SQL을 작성하므로 더 직관적이고 세밀한 제어가 가능하며 특히 복잡한 쿼리나 데이터베이스 특성에 민감한 경우에 유용하다.

0개의 댓글