OpenID와 OAuth2.0Spring Boot만으로 OAuth2 로그인 기능을 구현한다 (RestTemplate을 곁들인)인증 코드를 받는다받은 인증 코드를 통해서 Provider(Google, Kakao)에게 토큰을 받는다토큰으로부터 Open ID를 파싱한다파싱해
JPA 연관관계에서는 Fetch Type을 정해줄 수 있다.Lazy, Eager 둘 중 하나를 선택할 수 있다.무엇을 하는 설정이냐면,JPA를 사용해서 엔티티를 조회해올 때 연관 관계의 엔티티들도 Select 해올 것인지 아니면 프록시 객체로 대체할 것인지를 정하는 것
요즘 카페 서비스에 가입한 유저가 존재한다.원하는 카페들을 좋아요를 눌러서 자신의 좋아요 목록에 저장된 것을 확인했다.다음 번에 다시 들어와서 로그인을 하니…좋아요 목록이 초기화됐다ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ간단한 예시를 가져왔다.\`MemberService테스트를 하기
위와 같이 간단한 Member 조회용 API가 있습니다.잘 동작하는지 보기 위해서 위와 같이 테스트를 짰습니다.@Transactional을 붙인 이유는 \`MemberRepository존재하지 않는 멤버라고 합니다…!우리는 보통 JPA Repository, JPQL 등
간단한 이름을 가지는 Member 엔티티가 있습니다.MemberService에서 Member의 이름을 변경시키는 메서드를 만들었습니다.JPA의 변경감지를 통해 업데이트하려고 합니다.잘 동작하는지 검증하기 위해 테스트를 작성했습니다.앗? 실패하는 군요.하지만 당연합니다.
매우 간단한 Team이 존재합니다.Team과 다대일 관계를 가지는 Member가 존재합니다.이렇게 한 Team에 여러 Member가 존재할 때 Team을 삭제하면, 해당하는 Member들도 모두 삭제되면 좋겠습니다.Member 테이블에 Team의 ID가 존재합니다. T
프론트엔드와 노션의 API 명세를 통해 협업하고 있었습니다.어느날 백엔드측에서 API를 수정하고 노션의 명세를 최신화하지 않았습니다.그 결과…프론트엔드 극대노SwaggerRestDocsSpringdoc위의 선택지들이 있었고, 저희는 2번을 선택하기로 했습니다.이유는 테
JPA 사용자라면 피해갈 수 없는 N+1 문제에 대해서 정리해보려고 합니다.아주 간단한 예시로 살펴봅시다!위와 같이 Team이라는 엔티티에서 Member, Dog 라는 두 엔티티를 @OneToMany로 가지고 있습니다.cascade 옵션과 fetch 옵션은 테스트하기