ORM(Object Relational Mapping)이란
- 어플리케이션의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 의미
-> JAVA의 데이터 클래스와 관계형 데이터베이스의 테이블을 매핑
객체지향 프로그래밍과 관계형 데이터베이스의 차이로 발생하는 제약사항을 해결해주는 역할을 수행
대표적으로 JPA, Hibernate

ORM 장점
-
Sql 쿼리가 아닌 직관적인 코드로 데이터 조작가능
-> 개발자가 보다 비지니스 로직에 집중가능
-
재사용 및 유지보수가 편리
-> ORM은 독립적으로 작성되어 있어 재사용이 가능
-> 매핑정보를 명확하게 설계하기 때문에 따로 데이터베이스를 볼 필요가 없음
-
DBMS에 대한 종속성이 줄어듬
-> DBMS를 교체하는 작업을 비교적 적은 리스크로 수행가능
JPA(Java Persistance API)이란
- JPA는 ORM과 관련된 인터페이스 모음
- Java 진영에서 표준 ORM으로 채택되어있음
- ORM이 큰 개념이면, JPA는 더 구체화 시킨 스펙을 포함

Hivernate
- ORM Framework중 하나
- JPA의 실제 구현체 중 하나, 현재 JPA 구현체 중 가장 많이 사용됨

Spring Data JPA
- Spring Framework에서 JPA를 편리하게 사용할 수 있게 지원하는 라이브러리
- CRUD처리용 인터페이스 제공
- Repository 개발 시 인터페이스만 작성하면 구현 객체를 동적으로 생성해서 주입
- 데이터 접근 계층 개발시 인터페이스만 작성해도 됨

파일 구조 정리해보기

1. 각 파일의 코드 해석해서 정리하기
2. 데이터 진행 순서 확인해서 정리하기