스프링 부트에서 JPA로 데이터베이스 다루기
<aside>
💡 JPA는 자바 표준 ORM 기술로 데이터베이스 이용시 객체지향 프로그래밍 하기 위한 기술
</aside>
- 객체를 관계형 데이터 베이스에서 관리하게 해주어 최대한 SQL 코드를 피할수 있게 함
- 데이터 베이스 모델에 집중하지 않고 객체지향적으로 프로그래밍 하도록 중간에서 패러다임 일치시킴
Spring Data Jpa
- JPA는 인터페이스로 자바 표준 명세서이고 이를 사용하기 위해선 구현체 (Hibernate, Eclipse등) 사용
- JPA의 구현체를 쉽게 사용하고자 추상화 시킨 모듈
- 장점 : 배우기 어렵지만, CRUD 쿼리 작성할 필요가 없고, 객체 지향 프로그래밍 이용 가능, 속도 이슈 없음
- Hibernate 말고 Spring Data Jpa의 결과가 유사한데 사용하는 이유
- 구현체 저장의 용이성 : Hibernate 외의 다른 구현체들로 교체 용이 (내부에서 구현체 맵핑 가능)
- 저장소 교체의 용이성 : 관계형 DB외 다른 저장소로 교체 용이 (CRUD의 인터페이스들이 같음)
게시판 웹 어플리케이션
요구사항
게시판 기능
- 게시글 조회
- 게시글 등록
- 게시글 수정
- 게시글 삭제
회원 기능
- 구글 및 네이버 로그인
- 로그인한 사용자 글 작성 권한
- 본인 작성 글에 대한 권한 관리
Spring Data JPA 적용