본문 바로가기
반응형

개발109

[JPA] 즉시로딩과 N+1 문제 즉시로딩(FetchType.EAGER) 연관관계 맺을 때 즉시로딩 설정 시 연관 엔티티 즉시 조회 N+1 문제 주로 즉시로딩(FetchType.EAGER)으로 설정해두고, JPQL을 사용할 때 발생 JPQL의 경우 바로 SQL로 변환됨 예) Order entity에서 Member entity를 즉시로딩으로 설정했을 때 JPQL: select o From order o; → SQL: select * from order; EAGER 설정이 되어있어도 조인해서 읽어오지 않고, 단건 조회를 수행하게 됨 → 단건 조회한 후, 조회한 수 만큼 연관 테이블을 가져오는 쿼리를 N개 던지게 되서 성능이슈 발생 해결 fetch 조인 또는 엔티티 그래프를 이용해서 조회 주의 기본 fetch 전략 @xToOne(@ManyTo.. 2022. 10. 24.
실전! 스프링 부트와 JPA활용 1 :: JPA와 DB 설정, 동작확인 - 테스트 실행 도중 에러 정리 [ 에러 1 ] java.lang.IllegalStateException: Failed to load ApplicationContext 더보기 java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:1.. 2022. 10. 22.
[Python3] nltk.download('wordnet') 등등 에서 나는 ssl 오류 (mac os) [오류 메시지] ERROR: Unable to download webpage: (caused by URLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1123)'))) [해결 방법] Finder -> Application -> Python3.9 -> Install Certificates.command 파일 실행 2022. 9. 1.
[Python3] ImportError: cannot import name 'Sequence' from 'collections' python 3.9 버전의 경우 from collections.abc import Sequence python3.10 버전의 경우 from collections.abc import Sequence => 3.10 버전에서 3.9 버전의 소스를 돌리려고 하면 오류 발생 파이썬 버전을 3.9로 낮추거나 collections를 collections.abc로 수정 2022. 9. 1.
내부망 Nexus 저장소 이용하여 gradle & springboot 의존성 구성 이번에 내부망(폐쇄망) Nexus 저장소에 gradle과 springboot 관련 라이브러리를 올려서 새 프로젝트를 구성했다 눈물의 여정이었던 그 과정을 한번 남겨보려고한다 기나긴 여정이지만 이 글을 끝까지 따라오신다면 성공하실 것입니다!! 저처럼 고생하지마십쇼 (그리고 더 나은 방법을 알고 계신다면 제발 이 가여운 무지렁이에게 가이드를 주십사 간곡히 청하옵니다) 1. Nexus Repository maven 저장소와 동일한데, 서버에 직접 설치해서 라이브러리도 직접 올려놓고 쓴다고 보면 된다 pom.xml(maven) 또는 build.gradle(gradle) 파일에 명시해놓은 라이브러리들을 다운 받을 때 이용한다 [Nexus] Nexus Repository Manager - Artifiactory R.. 2022. 8. 27.
[Java] 표준 예외를 사용하라 Effective Java 3/E - 아이템 72 표준 예외를 사용하라 표준 예외 재사용 장점 1. 익숙 2. 예외 클래스 수가 적을수록 메모리 사용량 감소, 클래스 적재하는 시간 감소 Exception, RuntimeException, Throwable, Error 직접 재사용 X - 여러 성격의 예외들을 포괄하는 클래스이므로 안정적으로 테스트할 수 없음 널리 재사용되는 예외 예외 주요 쓰임 IllegalArgumentException 허용하지 않는 값이 인수로 건네졌을 때(null은 따로 NullPointerException으로 처리) IllegalStateException 객체가 메서드를 수행하기에 적절하지 않은 상태일 때 NullPointerException null을 허용하지 않는 메서드에 nu.. 2022. 8. 16.