스프링부트 공부기록(4) - JPA로 데이터베이스 다루기
my code archive
article thumbnail
반응형

12월 중순부터 2월말까지 열심히 학원 팀프로젝트를 진행했다.

진행하면서 느낀 점은 웹 개발과 DB가 정말 뗄레야 뗄 수 없는 관계구나...생각했다...ㅎㅎ

코드 한줄 한줄 짜는 것만큼 쿼리문 한줄 한줄 짜는 것도 정말 어렵고 복잡했는데

스프링부트에서는 JPA라는 새로운 데이터베이스 기술을 사용하고 있다고 한다.

쿠팡, 우아한형제들 등 자사 서비스를 개발하는 곳에서는 SpringBoot&JPA를 전사 표준으로 사용하고 있다고 한다.

 

🤍JPA란?

  • 기존 데이터베이스 방식은 객체지향 프로그래밍에서 조금 벗어난, 데이터베이스 모델링에만 집중하는 방향이었다.
  • JPA는 이런 문제점을 해결하기 위해 등장했다.
  • 관계형 데이터베이스 - 객체지향 프로그래밍 언어 2개 영역을 중간에서 패러다임 일치를 시켜주기 위한 기술.
  • 개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 대신 생성해서 실행하므로 SQL에 종속적인 개발을 하지 않아도 된다.
  • 규모가 크고 대규모 트래픽, 데이터를 가진 서비스에서 JPA는 점점 표준 기술로 자리잡고 있다.

 

🤍Spring Data JPA

  • JPA는 인터페이스로서 자바 표준 명세서이고 인터페이스인 JPA를 사용하기 위해서는 구현체가 필요함.
  • ㄴ 대표적으로는 Hibernate, EclipseLink 등이 있음.
  • 스프링에서 JPA를 사용할 때  구현체를 직접 다루지는 않으며 좀 더 쉽게 사용하고자 추상화시킨 Spring Data JPA라는 모듈을 이용하여 JPA기술을 다룸.
JPA <- Hibernate <- Spring Data JPA

🔍Spring Data JPA의 등장 이유 : 구현체 교체의 용이성, 저장소 교체의 용이성

 


스프링부트 게시판 만들기 (3장 ~ 6장)

3장에서 6장까지 하나의 게시판(웹 애플리케이션)을 만들어보고 7장~10장까지는 이 서비스를 AWS에 무중단 배포하는 것까지 진행 예정.

 

🤍요구사항 분석

게시판 기능 회원 기능
게시글 조회
게시글 등록
게시글 수정
게시글 삭제
구글/네이버 로그인
로그인한 사용자 글 작성 권한
본인 작성 글에 대한 권한 관리

 

🤍프로젝트에 Spring Data JPA 적용하기

build.gradle 의존성 추가

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형