JPA를 활용하게 되면 Course Bean을 데이터베이스에 존재하는 테이블로 직접 매핑
✅ Course 클래스
✅ CourseJpaRepository 클래스
✅ H2콘솔
코드의 양이 적어짐
✅ CourseJpaCommandRunner 클래스
✅ CourseSpringDataJpaRepository 클래스
다음과 같이 인터페이스만 생성해주면 된다.
코드를 // 커스텀 메서드 사용
System.out.println(repository.findByAuthor("in28minutes"));
System.out.println(repository.findByAuthor(""));입력하세요
과 같이 사용이 가능하다.
JPA : ORM 이며 객제 지향과 db 간 발생하는 차이를 매핑해준다.
즉, 객체는 차례대로 설계하고 db와의 차이점에 대해서는 ORM 을 통해서 매핑
JPA는 JDBC API 를 통해서 db에 접근하며 java application & JDBC api 사이에 존재하게 된다. JPA는 인터페이스의 모음이며 Hibernates는 그 구현체이다.
Entity : DB 테이블과 매핑되는 객체
EntityManager : DB table과 매핑된 객체인 entity에 대한 CRUD 작업을 수행하기 위한 method들을 제공, entity의 라이프 사이클과 관리등을 담당
PersistenceContext(영속성 컨텍스트)