java orm에 대한 API 표준 명세이고, 인터페이스 모음. 구현체가 없고, 사용하려면 ORM 프레임워크를 선택-> 가장 대중적인 Hibernate
ORM : Object-relational mapping로 객체와 RDB row를 중간에서 매핑
Spring에서 제공하는 모듈로 JPA를 한단계 더 추상화 시킨 Repository 인터페이스 제공
Spring data jpa 기술들의 조합으로 해결하지 못하는 한계점을 해결하기 위해 나온 프레임워크
자바코드로 쿼리를 작성->가독성,오류를 컴파일 시점에서 잡음,쉽게 동적쿼리 생성
복잡한 쿼리를위해 사용
반복을 줄이고 객체지향적 설계를 위해서는 JPA를 사용하는 것이 JAVA에 조금 더 걸맞은 사용 같다. 하지만 복잡한 쿼리가 많은 경우 sql을 그대로 쓰는 Mybatis가 편한 것 같다.
toy 프로젝트에 간단히 사용해 보며 비교적 간단한 쿼리를 다뤄봤다. JPA를 사용해 보자는 취지로 사용해 봤는데, 나중에 기회가 된다면 자세히 공부해서 보완하도록!