반응형 개발111 [MyBatis] 오라클 프로시저 호출 시 NullPointerException 발생 조치 # 프로시저 호출 { call procedure_name (#{param1},#{param2}) } # NullPointerException 에러 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.NullPointerException ### The error may involve ~~ Inline ### The error occured while setting paramteters ### Cause: java.lnag.NullPointerException # 조치 방법 괄.. 2022. 11. 7. [JPA] 변경감지와 병합(merge) 준영속 엔티티 식별자가 존재하지만 영속성 컨텍스트가 더는 관리하지 않는 엔티티 - JPA가 관리하지 않는다 - 변경감지가 일어나지 않는다 준영속 엔티티 수정하는 방법 1. 변경 감지 기능 사용 1) id 식별자를 이용해서 기존 entity를 조회 2) 조회한 엔티티는 영속성 컨텍스트에서 관리됨 3) 조회한 엔티티에 setter를 이용해서 값을 넣어주면 트랜잭션 커밋 시점에 flush를 날리면서 변경 감지 작동 2. 병합(merge) 사용 em.merge(item); JPA가 준영속 엔티티의 식별자 값으로 영속성 컨텍스트에서 entity를 찾고 없으면 DB에서 조회 후 모든 필드를 바꿔줌 (1번에 적어놓은 과정을 모두 JPA가 알아서 해줌) 주의! 병합을 쓸 경우 모든 필드를 교체 [꿀팁 번외편] 데이터를.. 2022. 10. 26. [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. 이전 1 2 3 4 5 ··· 19 다음