Everyday Dev System

WIL_0702 : 스프링 부트와 JPA 본문

내배캠 주요 학습/매일 공부

WIL_0702 : 스프링 부트와 JPA

chaeyoung- 2023. 7. 2. 22:28

1. 블로그 프로젝트 추가 기능 구현

  • 댓글 기능 추가
  • 유저와 관리자 권한 부여 기능
  • 로그인 시 토큰 관리 및 회원가입
  • 권한에 따른 url 접근 허용 및 거부

2023.06.26 - [내배캠 주요 학습/Spring 심화] - myBlog - Version 2.1

 

myBlog - Version 2.1

Version 1.0 2023.06.15 - [내배캠 주요 학습/Spring 입문] - Spring Boot 블로그 서버 구현 github Repo https://github.com/Chaeyounglim/myblog > 로그인 및 회원가입을 구현하고, 게시글 작성 및 수정, 삭제 시에 JWT 토큰을

cdev.tistory.com

 

 

 

2. Spring Data JPA 에서 복합키 설정

  • 복합키가 여러개일 경우 모두 설정해야 한다.

2023.06.27 - [내배캠 주요 학습/TIL : Today I Learned] - JPA 외래키 설정, 복합키일 경우

 

JPA 외래키 설정, 복합키일 경우

DataBase Table Relationship Entity Relationship Diagram 1. Post와 User는 단방향 N : 1 관계이다. 2. Post는 User 테이블의 username 칼럼을 참조한다. > 1. User, java package com.sparta.myblog.entity; import jakarta.persistence.*; import lo

cdev.tistory.com

 

 

 

 

3. JWT 토큰을 이용한 HTTP 요청 처리

  • JWT 토큰을 이용하여 HTTP 요청을 처리할 때 메서드 확인을 할 수 있다.
  • 커스텀한 필터 내부에 오버라이딩한 메서드 내에 HttpServletRequest 객체를 통해 메서드를 판별할 수 있다.
  • JwtAuthenticationFilter 내부에 attemptAuthentication() 내에서 하면 된다.

2023.06.28 - [내배캠 주요 학습/TIL : Today I Learned] - JWT HTTP Method 확인 방법

 

JWT HTTP Method 확인 방법

# 문제점 : 로그인 url에 POST를 제외한 다른 Method로 요청이 들어와서 로그인 처리가 된다는 문제점이 도출되었습니다. GET, DELETE, PUT 등의 요청이 들어오면 로그인 처리가 되지 않도록 거부해야 합

cdev.tistory.com

 

 

 

4. Spring Data JPA 에서 @Id 속성

  • @Entity 어노테이션이 명시되어 있는 클래스 내에 @Id 칼럼 속성을 학습하였다.
  • 서버에서 직접 Id 값을 넣어주지 않고 수동으로 주기 위해서는 @GenerationType을 설정해야 합니다.
  • GenerationType.IDENTITY는 id값을 서버가 아닌 DB에서 설정하기 때문에 DB에 먼저 INSERT 문을 날린 후에 해당 id 값을 서버로 가져와서 영속성 컨텍스트에 저장하여 관리합니다.
  • GenerationType.SEQUENCE는 DB에 조회하여 식별자 값을 먼저 조회한 후에 서버에 영속성 컨텍스트에 저장한 후 트랜잭션 commit 시 flush()가 되면서 DB에 INSERT가 됩니다.

2023.06.29 - [백엔드 개발자 필수 요소] - JPA와 Spring Data JPA 차이

 

JPA와 Spring Data JPA 차이

ORM의 표준 명세인 JPA는 인터페이스이고, Hibernate는 JPA를 구현하는 구현체이다. > ORM과 JPA, Hibernate, Spring Data JPA에 대해서 살펴보자. JPA와 Hibernate, Spring Data JPA 이 세 가지의 차이점을 설명할 수 있

cdev.tistory.com

 

 

 

 

5. JPA와 Spring Data JPA 차이

  • Spring Data JPA란 JPA를 추상화시킨 Repository Interface를 제공하여 (JpaRepository)
    개발자가 JPA 를 더 편하게 사용할 수 있게 하는 모듈입니다.
  • JPA를 먼저 학습한 후에 배워야 합니다.

2023.06.29 - [백엔드 개발자 필수 요소] - JPA와 Spring Data JPA 차이

 

JPA와 Spring Data JPA 차이

ORM의 표준 명세인 JPA는 인터페이스이고, Hibernate는 JPA를 구현하는 구현체이다. > ORM과 JPA, Hibernate, Spring Data JPA에 대해서 살펴보자. JPA와 Hibernate, Spring Data JPA 이 세 가지의 차이점을 설명할 수 있

cdev.tistory.com

 

 

 

 


 

'내배캠 주요 학습 > 매일 공부' 카테고리의 다른 글

너의 의견은 : 투표 게시판, KPT 회고  (0) 2023.07.24
개발 인생 : 개발자 커뮤니티 회고  (0) 2023.07.07
git 브랜치 전략이란  (0) 2023.06.29
의존성들  (0) 2023.06.22
매니저님의 꿀팁  (0) 2023.06.20