본문 바로가기
반응형

스프링4

JPA 정답이 없는 고난이도 면접질문 JPA 고난이도 면접 질문입니다. 단순한 개념 이해를 넘어서 경험에 기반한 대답을 해야 하는 질문입니다. 상당히.. 까다롭네요^^ Entity 상태 전이의 복잡성: JPA에서 Entity 상태 전이 (예: transient, persistent, detached, removed) 과정 중 가장 복잡하거나 오해하기 쉬운 부분은 무엇이며, 이를 어떻게 관리하나요? 1차 캐시와 2차 캐시의 교차점: 1차 캐시와 2차 캐시의 차이점을 설명하고, 이 두 캐싱 메커니즘을 어떻게 효율적으로 사용했는지 구체적인 예를 들어 설명해 주세요. 최적화 및 성능 문제: JPA를 사용할 때 겪었던 가장 까다로운 성능 문제는 무엇이었고, 어떻게 해결했나요? 쿼리 최적화 전략: JPA와 함께 복잡한 쿼리를 최적화하기 위해 사용한 전.. 2023. 11. 30.
JPA 관련 인터뷰 면접 질문 30가지 (심화 - 2) 1. JPA는 상속 매핑 전략을 어떻게 처리합니까? 각 전략을 자세히 설명하십시오. 2. FetchType.LAZY와 FetchType.EAGER의 차이점은 무엇입니까? 예를 들어 설명하십시오. 3. JPA Second-Level Cache의 작동 방식과 이점을 설명하십시오. 4. JPA에서 낙관적 잠금과 비관적 잠금의 차이점과 각 전략을 사용하는 경우를 설명하십시오. 5. JPA에서 JPQL, Criteria API 및 native SQL을 사용하는 것의 주요 차이점은 무엇입니까? 6. CascadeType 열거형과 다양한 값에 대해 설명하십시오. 각각 언제 사용해야 합니까? 7. JPA는 트랜잭션을 어떻게 처리합니까? EntityManager 및 트랜잭션 전파의 역할을 설명하십시오. 8. JPA의 N.. 2023. 5. 4.
스프링에서 다중 데이터소스 사용하기 예제소스는 깃허브에 있습니다. 스프링을 첨 공부할 때는 스프링 부트 설정으로 데이터 소스를 쉽게 빈으로 등록해서 사용한다. application.yml 에 url, host, port, id, pw 등 만 입력하면 되기 때문이다. 실제 회사 환경에서는 스프링부트의 컨벤셔널한 설정을 하기보다 데이터 소스를 직접 여러개 설정해야 할 상황들이 있다. 예를 들어 1. CUD 인 경우는 master, R 인 경우는 slave db 를 바라봐야 하는 경우 (이건 꼭 코드레벨에서 해야만 하는 것은 아닌듯하다.. db 클러스터 구성을 어떻게 하냐에 따라..) 2. 특정 path나 ID, 도메인 기반으로 데이터베이스를 다르게 가져가야 하는 경우 3. 조회하는 데이터의 날짜를 기준으로 db를 다르게 가져가야 하는 경우 등.. 2021. 8. 9.
gmail smtp 사용해서 스프링으로 메일 보내기 예제소스는 깃허브에 있습니다. 1. 이메일을 보내는 Gmail 의 2단계 인증 진행 구글 계정의 보안 설정 접속 후 2단계 인증 진행 https://myaccount.google.com/u/2/security 2단계 인증이 완료되면 아래와 같이 설정했다는 안내가 나온다. 2. 앱 비밀번호 설정 앱설정 -> 메일 기타 설정 -> 기타(맞춤 이름) 입력 적절히 앱 이름을 입력하고 생성을 누르면 아래와 같이 비밀번호가 제공된다. 3. 스프링 부트 설정 스프링 부트에 이메일 모듈을 추가한다. implementation 'org.springframework.boot:spring-boot-starter-mail' application.yml 에 Gmail smtp 설정을 추가한다. 이때 username, passw.. 2021. 8. 5.
반응형