본문 바로가기

스프링부트3

[스프링부트] MongoDB로 CRUD 실습해보기 [몽고디비 설치] 2022.03.02 - [맥북 M1] - 맥북으로 도커에 mongoDB 설치하기 [스프링부트 프로젝트 가져오기] start.spring.io로 아래 Dependencies를 추가했습니다. 편의를 위해 Lombok 정도만 추가로 가져오겠습니다. [application.properties]: yml로 하셔도 무방합니다. database 부분을 선언하신 데이터베이스 이름으로 할당해주세요. 아래 세 줄은 선언하신 계정 이름과 패스워드에 맞게 바꿔주세요. spring.data.mongodb.database=test spring.data.mongodb.port=27017 spring.data.mongodb.host=localhost #아래 세 줄을 꼭 추가해야 권한 오류가 나지 않습니다. spri.. 2022. 3. 2.
스프링 레디스 Redis 에러 Creating Server TCP listening socket *:6379: bind: No error 실행 환경 - 윈도우 , redis 3.0.504 버전 혹시나 이 오류를 만나셨다면 1. cmd를 관리자 권한으로 실행 시켜주세요 2. redis-cli.exe를 실행 시켜주세요 3. shutdown을 입력한 후에 exit로 종료해주세요 4. redis-server.exe redis.windows.conf를 cmd 창에 입력하면 redis server가 실행됩니다!! 2022. 1. 18.
스프링부트 JPA N+1 문제와 해결 방법 N+1 문제??? 스프링에서 객체 간 연관 관계 설정시에 발생하는 문제로 조회한 데이터만큼의 SQL 쿼리가 추가적으로 발생해 읽어오는 문제를 말합니다. Fetch 전략을 Lazy나 Eager 어떤 전략과 상관없이 N+1 문제는 발생하게 됩니다. 원인 스프링에서 SQL 조회 쿼리를 날려주는 JPQL(Java Persistence Query Language)를 실행하게 되면 JPA가 분석해 쿼리를 작성하게 됩니다. 그러나 JPQL은 Fetch 전략에 대한 정보가 없기 때문에 개발자가 선택한 특성을 무시하고 쿼리를 작성하게 됩니다. 해결 방법 Fetch Join 사용법 @Query("select a from Account a join fetch a.product") List findAllByProducts().. 2022. 1. 18.