오늘 과제 필수요구사항에 대한 기능 구현 및 추가기능 3번까지 구현했다. 혼자서는 하기 너무 힘들었지만 같은 팀 동료인 민중님이 많은 도움을 주셔서 제 한 시간 안에 해결할 수 있었다. 해결하면서 다중 Entity 연관 관계에 대해서 다시 한번 공부했고 머메이드사이트를 통해서 관계도를 만들었다.
User ||--o{ ToDo : places
ToDo ||--o{ Comment : "liable for"
User ||--o{ Comment : receives
강의를 들을 때는 내용이 어렵지만 그래도 머릿속으로 그려졌는데 막상 과제를 진행하다 보니 실전에서 사용하기에는 너무 어려웠다. 특히 마지막 Comment Entity class를 만들 때는 머릿속이 너무 복잡해서 연관관계를 설정하는 게 힘들었다. 나중에 DB에 데이터를 넣고 생성된 table을 확인하여 관계도를 이해했다.
추가적으로 Controller를 작성할 때 만약 id값을 2개를 받는다면 @RequestBody로 데이터를 Serivce로 넘겨주는 것이 아니라 @Pathvalueable을 통해 각자 받아 넘겨주는 것이 Restful 한 설계라는 것과 Query method를 작성할 때는 간결한 Query만 사용해야 사용해야 된다는 것을 느꼈다.
마지막 추가 요건중 제목을 통해 목록을 출력하는 과정에서 Query method를 통해 만들려고 하다 보니 길어지는 건 기본이고 기능의 한계로 인해 원하는 테이블 정보를 가져오지 못했다. 결국 포기하고 Query어노테이션을 통해 직접 SQL문을 작성해서 원하는 테이블 정보를 출력했다. 이 과정에서 정말 답답했다.
오늘의 요약
1. 연관관계 다시 공부하자 아직 할줄 모른다
2. Restful한 스킬들을 다듬어 보자
3. 복잡한 Query면 그냥 Query method 쓰지 말고 직접 만들어라
4. 역시 코딩공부는 10번읽는것보다 코드 한 줄이 값지다
'내일 배움 캠프' 카테고리의 다른 글
2023-11-21 (0) | 2023.11.21 |
---|---|
2023-11-20 (0) | 2023.11.20 |
2023-11-16 (0) | 2023.11.17 |
2023-11-15 (0) | 2023.11.16 |
2023-11-14 (0) | 2023.11.14 |