→ 근데 User를 들고있어도 되나?
db에 저장하는 것이 확장성에 더 좋다.
SecurityContextHolder에 유저 객체를 들고있어도 되나?
회원 디테일 페이지에서 필요한건 회원 테이블에 있는 정보보다는 운동 기록과 크루에 관한 내용이었다. 이러한 부분을 어떻게 해결할 것인가? 회원 서비스에서 다른 서비스의 메서드를 불러와 사용할 것인가? 이렇게 되면 서비스 간의 의존성이 늘어나고 잘못하면 뭐냐 그거 순환 참조의 위험이 늘어남 그러면 어떻게 할 것인가?
CrewMember를 조회하는 로직을 어떻게 구현할 것인가
→ Crew서비스에서 하려다보니 User에 대한 정보가 더 많이 필요함. 이게 문제가 되는 이유는 유저의 일주일동안의 운동 시간을 가져와야하는데 운동시간에 대한 정보는 ExerciseHistory라는 테이블에 존재함. 그럼 결국 ExerciseHistory의 레포지토리에서 검색해야하는데 Crew에서 회원을 거쳐 ExerciseHistory까지 가게되면 서비스 간의 의존성이 생기게됨. 이 문제를 어떻게 해결해야할까?
해결: userId를 list로 만들어서 포함하고있는 ExerciseTime을 모두 구하도록 로직 구성 결국은 user와 exercisehistory를 각각 구하는 로직으로 만든건데 user는 이미 usercrew 구할 때 있으니까 exercisehistory만 userid를 통해 구함. 위에서 고민했던 문제와는 다르게 해결 왜 고민했나 싶은 정도