
JPA는 자바 표준 ORM(Object-Relational Mapping) 기술로, 데이터베이스와 자바 객체 간의 매핑을 제공
JDBC는 자바에서 데이터베이스에 접근하기 위한 자바 API로서 JPA와는 달리 ORM을 사용하지 않고 순수 SQL을 활용
객체와 데이터베이스 간의 매핑을 위해 어노테이션 기반의 엔터티 매핑을 사용합니다. 개발자는 자바 객체를 엔터티로 정의하고, JPA를 사용하여 이를 데이터베이스 테이블에 매핑할 수 있다.
순수 SQL을 작성하며, 별도의 객체와 테이블 간의 매핑이 필요하지 않습니다. 대신에, 쿼리 결과를 자바 객체로 매핑하는 데 사용되는 RowMapper와 같은 JDBC의 기능을 활용한다.
개발자가 더 높은 추상화 수준에서 작업하므로, 더 편리하게 데이터베이스와 상호 작용할 수 있다. 쿼리 메소드, 동적 쿼리 생성, 페이징 등의 편리한 기능을 제공
개발자가 직접 SQL을 작성하므로 더 직관적이고 세밀한 제어가 가능하며 특히 복잡한 쿼리나 데이터베이스 특성에 민감한 경우에 유용하다.