유저에 각 workspace마다 멤버 역할을 부여하다보니 한 유저가 여러 멤버를 가질수 있게됨.
기본 member 생성코드는 workspace안에서 멤버 찾을때 해당 워크스페이스가 아닌 모든 멤버가 찾아져서 오류가 발생함

오류 내용
2024-10-16T14:57:05.550+09:00 ERROR 15620 --- [spring-trello] [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.dao.IncorrectResultSizeDataAccessException: Query did not return a unique result: 2 results were returned] with root cause
쿼리의 결과가 예상한 것과 달리 두 개 이상의 결과를 반환했기 때문
쿼리 변경

findByUserId -> findByWorkspaceIdAndUserId 로 변경하면서 멤버권한 검사하는 모든 쿼리에 workspaceId를 넣게됨.
id값을 하나더 넣게 되면 많은 부분이 고쳐지고 입력할때도 번거로워서 해당서비스의 entity에서 상위entity 찾아서 올라가 workspaceId 넣는 식으로 바꿈

해결되어 문제없이 작동하는걸 확인.
'java 배우기 > TIL' 카테고리의 다른 글
| List를 Page 화 하기 (0) | 2024.10.22 |
|---|---|
| 카드 조회수에 redis 사용해보기 (0) | 2024.10.17 |
| docker로 redis 실행중 생긴 오류 (0) | 2024.10.15 |
| 깃허브 PR 규칙 에러 (branch 적용 범위 실수) (0) | 2024.10.14 |
| 팀 프로젝트 기획하고 역할 분담하기 (8) | 2024.10.13 |