JPA 환경 설정 1. JPA(Java Persistence API) : ● 객체와 관계형 데이터베이스 간의 매핑을 위한 표준 API객체와 관계형 데이터베이스 간의 매핑을 위 한 표준 API ● JPA를 통해 자바 객체를 데이터베이스 테이블에 매핑하고, 객체 지향 방식으로 데이터베이스를 조작 ● 자바 객체와 데이터베이스를 연결해 데이터를 관리, 객체 지향 도메인 모델과 데이터베이스의 다리 역할 1. ORM(Object Relational mapping) : 자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법, 객체와 데이터베이스를 연결해 자바 언어로만 데이터베이스를 다룰 수 있게 하는 도구2. 하이버네이트(hibernate) : JPA 인터페이스를 구현한 구현체이자..
● 테스트 부분package com.shopmall.controller;import com.shopmall.domain.Member;import com.shopmall.dto.MemberFormDto;import com.shopmall.service.MemberService;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;import org.springframew..
/* JPA Persistence Context : jpa에서 객체(엔티티)들을 보관하는 저장 공간(일종의 1차 캐시) - 1차 캐시 : Map로 저장 - 동일성 보장 : 하나의 트랜잭션에서 같은 키값으로 영속성 컨텍스트에 저장된 엔티티 조회 시 같은 엔티티 조회하는 것을 보장 - 트랜잭션을 지원하는 쓰기 지연 : 1차 캐시에 저장되는 것과 동시에 쓰기 지연 sql 저장소에 sql문이 저장됨, 이렇게 sql문을 쌓아 두고 트랜잭션을 커밋하는 시점에 저장된 sql문들이 flush 되면서 db에 반영 - 변경 감지 : 1차 캐시에 db에서 처음 불러온 엔티티의 스냅샷 값을 가지고 있음 그리고 1차 캐시에 저장된 엔티티와 ..
package com.blog.config;import com.blog.config.jwt.TokenProvider;import com.blog.config.oauth.OAuth2AuthorizationRequestBasedOnCookieRepository;import com.blog.config.oauth.OAuth2SuccessHandler;import com.blog.config.oauth.OAuth2UserCustomService;import com.blog.repository.RefreshTokenRepository;import com.blog.service.UserService;import lombok.RequiredArgsConstructor;import org.springframework...