예시 : ORM 프레임워크 사용시 객체를 데이터베이스에 저장할 때 SQL INSERT문을 직접 작성하는 것이 아닌 객체를 마치 자바 컬렉션에 저장하듯 ORM 프레임워크에 저장하면 됨 그렇게 되면 ORM 프레임워크가 적절한 INSERT SQL을 생성해 데이터베이스에 저장해줌
jpa.persist(member); // JPA 사용 객체 저장 코드
Memeber member = jpa.find(memberId); // JPA 사용해서 객체 조회 코드
JPA를 사용하면 이렇게 저장할 객체를 전달만 하면 됨 SQL 작성과 JDBC API를 사용하는 일과 같은 반복적인 일은 JPA가 알아서 처리해주기 때문에 코드를 줄일 수 있음
SQL을 직접 다루면 엔티티에 필드를 하나만 추가해도 관련된 등록, 수정, 조회 SQL과 결과를 매핑하기 위한 JDBC API를 모두 직접 변경해줘야 함
JPA의 사용은 이런 과정을 대신 처리해주기 때문에 필드를 추가하거나 삭제해도 수정해야 할 코드가 줄어듬 > 유지보수 해야 할 코드 수가 줄어듬
String memberId = "helloId";
Member member1 = jpa.find(memberId);
Member member2 = jpa.find(memberId);
이렇게 같은 회원을 두번 조회할 일이 있을 때 JDBC API를 사용했다면 회원을 조회할 때마다 SELECT SQL을 사용해 데이터베이스와 두번 통신을 해야 함
JPA를 사용하면 회원 조회하는 SELECT SQL은 한 번만 데이터베이스에 전닿하고 두번째는 조회한 회원 객체를 사용하면됨
JPA는 애플리케이션과 데이터베이스 사이에 추상화된 데이터 접근 계층을 제공해서 애플리케이션이 특정 데이터베이스 기술에 종속되지 않도록 함
- 데이터베이스 변경시 JPA에 다른 데이터베이스 사용을 알리기만 하면 됨
📘 참고 도서 : 자바 ORM 표준 JPA 프로그래밍 (저자 김영한)