현재 트레이너의 식단 피드백이 모든 트레이니들이 같은날 같은 피드백이 보여집니다.
식단 피드백 조회 로직에 문제가 있어 DB 설계를 다시 보니.
엉망진창이네용..
식단 피드백이 식단의 FK 로가지는데, 이는 다중의 FK를 가지게 된다. (식단은 아침,점심 등 n 개가 가능하고 이에 대한 전체 피드백이 하나 존재하기 때문)
위 관계를 풀어주기위해, 식단과 식단피드백의 연관관계를 끊어주고, 식단 피드백에 트레이니의 id를 FK로 갖도록 하였다.
그럼 이제 피드백을 조회할때
트레이너의 경우, 작성날짜와 조회할 멤버의 이메일을 넘겨서 찾고
멤버인 경우는, 작성날짜만 넘겨서 피드백을 조회하면 될 것 같습니다. 저번에 했던 것 처럼 if문으로 get요청을 나눠주겠습니다.
운동 피드백을 하고 나서 그런지 굉장히 손쉽게 했습당.
그런데 식단 피드백 수정이 불가능하게 구현이 되어있어서 그 부분도 수정해봤습니다.
근데 이런식으로 하면 메서드 네이밍과 기능이 의미론적으로 부합하지가 않는 것 같습니다.
프론트에서 요청자체를 나눠주거나.. 적어도 create 메서드에서 update 메서드를 호출하는 식으로 코드를 수정하는 것이 더 좋아보입니다.
근데 이런식으로 헀을때, 과연 더티체킹이 이루어지는지 확인이 필요해보입니다.
테스트 결과 create 메서드 위에 @Transactional 어노테이션을 붙여주는 더티체킹이 잘 이루어지는 것을 확인 하였습니다.(+ update 메서드에는 @Transactional이 없어도 더티체킹이 잘 이루어 집니다.)
'푸로젝트 > TheFit' 카테고리의 다른 글
[디버깅] s3 파일 수정 시 기존파일 삭제하기 (0) | 2024.03.03 |
---|---|
[디버깅] 운동 피드백 조회 (0) | 2024.03.03 |
The Fit 프로젝트 회고 (2) | 2024.02.27 |