@BatchSize 연관된 엔티티를 조회할 때 지정한 size 만큼 where 조건의 in 절으로 조회한다. 1:N 관계의 Entity 정의 정의 조건 : 1명의 멤버는 여러 개의 주문을 가질 수 있다. Members (1) : Orders (N) * 부모 class : Members @Entity class Members( @Column(nullable = false, length = 50) var email: String, @Column(nullable = false, length = 20) var name: String, ) { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long? = null @OneToMany(mappedBy..
에러 메세지 org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags: [com.beside.backend.domain.entitiy.wisesaying.WiseSaying.emotionWiseSayingsWords, com.beside.backend.domain.entitiy.wisesaying.WiseSaying.wiseSayingBookmark]; nested exception is java.lang.IllegalArgumentException: org.hibernate.loader.Mult..
사건의 발단 로그인 API가 안된다는 프론트엔드 팀원님의 갑작스런 메세지..... 보고 현기증나기 시작했다.ㅎ 왜냐면 함께 하던 백엔드 팀원님이 나가셔서 이제 내가 무조건 처리해야하기 때문에.. (처리 못하면 죽음뿐 ^^) 문제 상황 * Database server 접속 안됨 (MySQL Cannot Connect to Database Server) 디비 데이터 모두 초기화됨 * domain 접속 안됨 해결 방법 데이터베이스 도커 컨테이너 재기동 서버가 네이버 클라우드로 돌아가고 있는데 프로젝트 기간이 얼마 남지 않은 시점이라 처음에 크레딧 소멸을 의심했다. 다행히 아직 크레딧은 남아 있어서 클라우드에서 서버가 내려간건 아니었다. 그렇다면 디비 서버만 연결이 안된다는 건데, 여기서 클라우드 서버와 디비 ..
사용자의 구독 이력UserSubscribeHistory 을 확인하는 find 함수 기존 JPA Query 다음 코드는 사용자가 해당 채널을 구독하는지 조회하는 JPA Query이다. 사용자의 구독 이력 UserSubscribeHistory 에서 구독하는 채널명 channelName 인지 확인하고 UserSubscribeStatus 구독 상태 여부에 따라 UserSubscribeHistory를 반환한다. fun find(channelName: String, status: UserSubscribeStatus? = null): UserSubscribeHistory? { return queryFactory.select(userSubscribeHistory) .from(userSubscribeHistory) .w..
실행한 쿼리 delete from wise_saying_bookmark where wise_saying_id = 1 특정 행을 삭제하기 위해 쿼리문을 delete 쿼리문을 실행했다. 에러메세지 Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 원인 "safe update mode" 기능이 활성화되어 있을 때 발생한다. 데이터가 무작위로 수정되는 것을 방지하기 위한 기능으로, update / d..
Full Text Search Index (전문 검색 인덱스) MongoDB에서 제공하는 Full Text Search (전문 검색) 기능을 사용하여 검색 기능을 구현하던 중 에러가 발생하였다. Text index required for $text query Full Text Search Index 를 생성하지 않아 발생하는 에러 Full Text Search Index 생성하기 Collection level db.컬렉션명.createIndex( { "$**": "text" } ) Field level db.컬렉션명.createIndex( { title: "text", contents: "text" } ) Full Text Search Index 삭제 index 의 이름으로 삭제한다. db.컬렉션명.dr..
실행 중인 docker 컨테이너 리스트 확인 $ docker ps docker 컨테이너 shell 으로 접속 : exec $ docker exec -it {containerID} /bin/bash exec 명령은 docker 컨테이너 내에 새로운 프로세스를 포크한다. 새로운 프로세스를 /bin/bash 로 정한 것이기 때문에 컨테이너 내에 /bin/bash 가 존재하지 않는다면 이 명령어와 똑같이는 접근할 수 없다. 별도의 bash 프로세스에서 로컬 bash 세션으로 접속할 수 있다. attach 명령으로 붙은것과 달리, exec 명령으로 붙은건 별도로 실행된 bash 이기 때문에 종료는 exit 명령으로 빠져나와도 된다. bash 종료 : exit $ exit 사용예시 root@beside:~# doc..
심리학에 더닝 크루거 효과라는 말이 있다. 조금 아는 사람이 신념을 가지는게 제일 무섭다는 말을 아주 멋있게 해놓은 것 ^^ 더닝 크루거 효과 : 능력이 없는 사람이 잘못된 판단을 내려 잘못된 결론에 도달하지만, 능력이 없기 때문에 자신의 실수를 알아차리지 못하는 현상 사건의 발단 2022년 10월 정말 좋은 기회로 사이드 프로젝트를 참여하게 되었는데, 사실 이게 처음부터 이상했다. 나중에는 '온 우주가 사이드 프로젝트 하라고 밀어주는 건가....' 하고 쓸데없는 생각까지 했음.(ㅎ) 이때 나는 본사에서 라오스 해외 프로젝트를 하고 있었고 사수님이 꼭!! 같이!! 해외 출장 데려간다고 하셨는데.. 결국 철썩같이 믿고 있던 해외 출장을 못 가게 되었다. 그리고 슬픈 마음에 충동적으로 유료 사이드 프로젝트를..
- Total
- Today
- Yesterday
- ChatGPT
- 배열
- 오블완
- MongoDB
- 티스토리챌린지
- redisson 분산락
- JPA
- Java
- Linux
- 자바 어플리케이션 실행 과정
- spring boot 3
- Cannot construct instance of
- Spring Security
- Kotlin
- bucket4j
- checkout
- junit5
- n+1
- addFilterBefore
- 스프링 스케줄링
- Git
- QueryDSL
- FetchJoin
- array
- jvm warm-up 전략
- 추상클래스
- dto 클래스 생성자
- 스프링오류
- MultipleBagFetchException
- port
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |