예외 처리 및 리팩토링 - [merged]
Closed this issue · 7 comments
In GitLab by @luke on Jan 12, 2023, 17:07
Commented on voting-server/voting-server/src/main/java/gabia/votingserver/service/UserService.java line 52
혹시 서비스 계층에서 리포지토리 계층을 건너뛰고 바로 EntityManager를 호출하신 이유가 따로 있으실까요? 계층형 아키텍처와 추상화가 가져다주는 이점에 대해 한번 생각해보시면 좋을 것 같습니다.
의견 감사드립니다😊
Jpa Repository의 save는 저장 객체 대상이 새 객체인지 덮어 쓸 대상인지 확인을 위해
select query를 발생시킨 후 insert query를 발생 시키기 때문에,
위와 같은 중복 id 검사를 한 후 회원 가입 상황에선 불필요한 select query를 방지하기 위해 바로 영속성 컨텍스트를
사용하였습니다.
하지만 말씀 해주신 대로 계층 별 추상화 단계에 어긋나니 리포지토리에서 직접적인 insert query를사용하는
메서드를 선언한 후,
리포지토리를 통해 사용하는 방식으로 수정하는 것이 좋을 것 같다고 생각합니다..
In GitLab by @project_18_bot on Jan 12, 2023, 17:37
Commented on voting-server/voting-server/src/main/java/gabia/votingserver/service/UserService.java line 52
changed this line in version 2 of the diff
In GitLab by @project_18_bot on Jan 12, 2023, 17:37
added 2 commits
In GitLab by @project_18_bot on Jan 12, 2023, 17:44
added 1 commit