내배캠 주요 학습/매일 공부
WIL_0702 : 스프링 부트와 JPA
chaeyoung-
2023. 7. 2. 22:28
1. 블로그 프로젝트 추가 기능 구현
- 댓글 기능 추가
- 유저와 관리자 권한 부여 기능
- 로그인 시 토큰 관리 및 회원가입
- 권한에 따른 url 접근 허용 및 거부
2023.06.26 - [내배캠 주요 학습/Spring 심화] - myBlog - Version 2.1
2. Spring Data JPA 에서 복합키 설정
- 복합키가 여러개일 경우 모두 설정해야 한다.
2023.06.27 - [내배캠 주요 학습/TIL : Today I Learned] - JPA 외래키 설정, 복합키일 경우
3. JWT 토큰을 이용한 HTTP 요청 처리
- JWT 토큰을 이용하여 HTTP 요청을 처리할 때 메서드 확인을 할 수 있다.
- 커스텀한 필터 내부에 오버라이딩한 메서드 내에 HttpServletRequest 객체를 통해 메서드를 판별할 수 있다.
- JwtAuthenticationFilter 내부에 attemptAuthentication() 내에서 하면 된다.
2023.06.28 - [내배캠 주요 학습/TIL : Today I Learned] - JWT HTTP Method 확인 방법
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 차이
5. JPA와 Spring Data JPA 차이
- Spring Data JPA란 JPA를 추상화시킨 Repository Interface를 제공하여 (JpaRepository)
개발자가 JPA 를 더 편하게 사용할 수 있게 하는 모듈입니다. - JPA를 먼저 학습한 후에 배워야 합니다.
2023.06.29 - [백엔드 개발자 필수 요소] - JPA와 Spring Data JPA 차이