본문 바로가기

java25

회원 Repository 요구사항을 확인 후 이제 개발에 들어가게 된다 먼저 새로운 패키지 Repository를 하나 만들고 MemberRepository 클래스를 만들었다. MemberRepository 클래스에 Repository를 구성하기 위해 @Repository 라는 어노테이션을 설정했다. @Repository 를 설정하게 되면 Component 자동으로 등록 되어 Repository로 등록이 되게 된다. 그리고 JPA를 사용하기 위해 @PersistenceContext 로 EntityManager를 선언한 뒤 저장 , 하나의 데이터 조회, 전체 데이터 조회, 이름으로 조회 의 4개의 메서드를 생성했다. 전체 데이터 조회와 이름으로 조회에 대한 메서드는 createQuery를 통해 query문으로 조회 할 수 있게 설정.. 2022. 7. 11.
entities share the same JPA entity name 김영한 님의 실전! 스프링 부트와 JPA 활용1 을 들으며 실제로 따라서 해보고 있던 중 localhost로 서버를 실행시켰더니 한가지 에러에 직면하였다. 에러는 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.DuplicateMapping.. 2022. 7. 7.
엔티티 설계 값 타입은 변경 불가능하게 생성 (@Setter 는 제거 , 생성자에서 값을 모두 초기화해서 변경 불가능한 클래스로 생성) JPA 스펙상 엔티티나 임베디드 타입(@Embeddable)은 자바 기본 생성자를 public 또는 protected 로 설정해야된다 (JPA가 구현 라이브러리가 객체를 생성할 때 리플랙션 같은 기술을 사용할 수 있도록 지원해야 하기 때문) 1. 도메인 모델 2. 테이블 설계 *기본 @Id 는 Long 타입의 id 지만 , Column 은 “테이블_id” 로 만든다. 1. Member Order Class와 일대다 매핑을 하고, Member Class가 주인으로 mappedBy 로 연결 해준다. 2. Order Class 명은 Order로 지정하지만, DB 에선 Order을 사용하지.. 2022. 7. 7.
SSO 아키텍처 현재 구현하고자 하는 프로젝트에 OAuth 를 이용한 SSO 아키텍처를 먼저 설계했다. 0. 로그인을 하지 않은 사용자는 Resoure Server를 통해 최초 로그인을 진행하게 된다. 1. 사용자는 웹을 이요해 Client 웹에 접속을 하게된다. 2. Client는 현재 사용자를 Resource Server에게 인증을 요청하게 된다. 3-1. Resource Server 에서 인증이 완료가 된다면 Client에게 인증이 완료되었다고 Redirect 해준다. ↑ 정상적인 인증 로직 ↓ 토큰 발급을 통한 재 인증 로직 3-2. Resource Server 에서 인증이 완료이 완료되지 않았다면 Authorization Sever에게 토큰에 대한 발급을 요청한다. 4. Authorization Sever는 토.. 2022. 7. 6.