연관관계 매핑 양방향으로 바꾸기 (JPA, ORM 공부하기, 효율 문제 생김,
현재 코드로는 ORM 전혀 모르고 있는 것으로 보임)
내가 짠 코드를 남들에게 설명하고 이해시킬 수 있어야 함. 그러려면 제대로 알고 짜야 함 (코드리뷰를 통한 학습 필요)
반환형태가 다른 부분 수정해서 통일하기
@Transactional
: 스프링 트랜잭션에 대해 정확히 알고 사용하기. 지금 코드에는 필요 없는 (사용되지 않는)부분에서도 어노테이션을 붙여놨음.
고객 피드백 받기 전까지 (금요일) 완성하기
더 이상의 기능 추가가 아닌 대용량 처리와 효율성 높이기, 코드 리팩토링
💻
좋아요 기능 구현 중에 엔티티명을 like로 했더니 expected "identifier"; SQL statement
오류가 떴다. like가 예약어라서 생긴 문제였다. 매핑 문제인줄 알고 한참을 헤맸는데 어이없는 실수였다. 하지만 튜터님이 말씀하신대로 지금 코드의 매핑이 jpa를 정말 제대로 모르고 한 게 보이는 상황이라 기능 구현을 완료하는데로 수정해야 할 것 같다.
팀원분 코드를 같이 보다가 리스트 중복 제거에 대해 찾아봤다. hashset이나 set만 생각하고 있었는데 stream().distinct().collect(Collectors.toList())
로 해결할 수 있었다. 자바만 공부할 때는 컬렉션에 대해 제대로 공부하지 않았는데 오히려 프로젝트를 하다보니 찾아보다가 더 공부하게 되는 것 같다.
오늘 피드백을 들으면서 내가 코드나 스프링, JPA에 대해서 아직도 잘 모르고 있다는 걸 또 다시 느꼈다. 양방향 매핑, 단방향 매핑에 대해서 공부했다고 생각했는데 효율 문제도 그렇고 누가 왜 이걸 썼냐고 물었을 때 아직 제대로 설명할 자신이 없다.
구현한 부분을 푸쉬하고 지금 다시 db를 보니 boolean값 isLike를 db에 넣고 누를 때마다 false, true로 바꿔 저장해놓고 있는 부분이 조금 이상한 것 같다. 필요해서 만들긴 했는데 내일 다시 코드를 보면서 생각해봐야겠다.
문정님 홧팅!@@@@@@@@@@@@@@@@@