JPA(Java Persistence API)는 자바 객체와 관계형 데이터베이스 간의 패러다임 불일치 문제를 해결하기 위해 만들어진 Java ORM(Object-Relational Mapping) 기술 표준입니다.
인터페이스만 제공하며, 실제 구현체로는 Hibernate, EclipseLink, OpenJPA 등이 있습니다.
이를 사용하면 Java 객체를 DataBase 테이블에 매핑하고, 객체를 조작하는 것만으로 DB 작업이 가능해집니다.
ORM은 Java 클래스와 DB 테이블을 자동으로 매핑하여 객체 지향적으로 데이터베이스를 다룰 수 있게 해주는 것을 의미합니다.
JPA는 개발자가 직접 SQL을 작성하지 않고, Java 객체의 CRUD 작업을 메서드 호출로 처리할 수 있게 해줍니다.
JpaRepository를 상속받아 사용합니다.JPA는 표준 명세이고, Hibernate는 그 구현체 중 하나입니다.
JPA를 사용하면 구현체를 갈아끼울 수 있어 벤더 종속성이 낮아집니다.
Hibernate가 사용하는 데이터베이스 방언을 지정하는 설정입니다.
각 데이터 베이스는 SQL 표준을 지키지 않는 고유 기능이 존재해 Hibernate가 적합한 SQL을 생성하려면 dialect 지정이 필요합니다.
자료 및 코드 출처: 스파르타 코딩클럽