
ORM
Application의 Object와 Database의 Table을 매핑
JPA
ORM을 정의한 표준 스펙(JAVA진영의 ORM 명세)
💥 Java Persistence API = Jakarta Persistence API
JPA에 대한 실제 구현체(Implementaion)
- JPA = 인터페이스, Hibernate = 클래스
💥 Spring Data Jpa : Hibernate를 간편하게 사용하기 위해 추상 객체를 한번더 감싸서 만든 것(자주 쓰는 기능 묶음)

- java의 모든 클래스는 Object 클래스를 상속받음
- Object 클래스 내의 toString()을 @Overide하기를 권고
- print("클래스 이름") : Object의 toString()이 호출됨(오버라이딩 안했을때)
@NoArgsConstructor
- 인자가 없는 생성자( ex. User user = new User() )
- JPA에서 필수로 사용
@RequiredArgsConstructor
- 필수 값으로만 만든 생성자( 평상시에는 인자가 없는 생성자와 동일 )
- @Data에 기본적으로 포함됨
- @NotNull 이나 final 이 붙은 속성에 적용
@Getter + @Setter + @RequiredArgsConstructor + @ToString + @EqualsAndHashCode
쇼핑몰 프로젝트 책을 공부하면서 JPA 에 대한 전반적인 개념을 공부했지만, 이해가 완벽히 되지는 않았다. 이번 강의를 통해서 JPA에 대한 이해도를 한층 끌어올린 것 같아서 좋았다. 역시 공부는 한가지 관점에서 여러번 복습하는 것도 중요하지만, 다른 관점에서 바라보는 것도 중요한 것 같다.