본문 바로가기

728x90

Service

(2)
[JPA] 연관 객체 불러오기.. Fetch Join 정말 괜찮을까? 결론부터 말하자면 약간 뻘짓한 글이다. 그래도 긍정적으로 본다면 고민을 해봤다는 의의는 있으니.. 초보자의 수준에서 한 번 고민을 공유한다고 생각하면 될 것 같다. (1) 개요 서비스단을 개발하다 고민하게 된 부분이 있어서, 정리해보면서 결론을 만들어 나가보기로 했다. 우선 개요는 다음과 같다. Group 객체가 있고, Group 활동 안에 게시물인 Post 객체가 있으며, Post 에는 댓글인 Comment 객체가 있는 다음과 같은 상황이다. 아래에는 표시되어 있지 않지만, Member 객체가 당연히 있으며, Member 와 Group 사이에는 현재 상태가 기록되고, [강퇴 / 휴면 / 활동] 의 세 가지 상태로 관리된다. 이와 같은 관계는 많이 발생하는 일반적인 상황으로, 모두 비식별 관계이다. 이 ..
[단위테스트] Unit Test 를 통해 함수를 Refactoring 해보자 Spring Boot 를 통해 앱을 개발하는 중에 기존 코드들을 단위테스트를 진행하면서 Refactoring 을 할 수 있었는데, 사실 Refactoring 을 하겠다고 생각하면서 굉장히 NAIVE 하게 짰던 기존 코드긴 하지만, Refactoring 에 큰 도움을 준다는 점을 다시 한 번 알게 되어 글을 작성해 보게 되었다. 바로 코드로 들어가보자. 우선 이 코드는 특정 Group 에 Member 가 가입하는 요청을 보내서, Group 에 가입을 시켜주는 흔한 로직이다. 다음과 같이 Controller 에서 Service 단으로 요청이 넘어온 상태부터 시작한다. public GroupMember joinGroup(RequestDto reqDto, Member member){ // 해당 그룹이 있는지 먼..