-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Q&A
처음 스프링을 접하면서 동시에 JPA에 대해서 배우고 매핑까지 하면서 헷갈리는 부분이 많이 있었던 것 같습니다. 현업에서 JPA 연관관계 설정 시 단방향을 많이 쓴다고 들었는데 어떤 식으로 매핑을 하고 사용하는지 실 예제가 궁금했습니다. 답변해주시면 감사하겠습니다 !
- 어떤 식으로 매핑하냐라는 질문에선 단뱡향을 언급하며 스스로 답을 말한 것 같습니다. 조금더 스스로 알아보면 좋을 것 같습니다.
- 매핑, 연관관계에 대한 고민은 JPA가 영속성 무지를 위한 기술이고 이를 프로그래밍언어에서 어떻게 해결하는 것일까를 고민하면 해결된다고 생각합니다.
- 실 예제는 의미가 없다고 생각합니다. 회사마다 사람마다 모두 사용하는 케이스가 다릅니다. 각각의 방식에 이유가 있고 장단점이 있으며 각 단점을 해결하여 사용하고 있습니다. 따라서 어떤 문제가 있고 그 문제를 어떻게 해결할지 그리고 문제 예방은 어떻게 할지 어떻게 모니터링할지 와 같은 관점이 더욱 중요하다고 생각됩니다.
과제 코멘트
- Conrtoller의 Return 타입이 void, Long와 같은건 아쉽습니다. Response를 잘 남길수 있는 방법을 고민하면 좋을 것 같습니다.
- repository에서 save를 하는 것은 Controller의 역할이 아닌 것 같습니다. (책임주도설계라는 개념을 알아보시면 좋을 것 같습니다.)
- Id 값을 사용자에게 노출시키는 것은 문제가 없을지 한 번 고민해보시고 어떤 대체 용도가 없을지도 고민하시면 좋을 것 같습니다.
- 서비스에서 엔티티를 리턴하는 것은 좋은 로직일까요??
- Dto 관리도 보다 잘할 수 있다면 좋을 것 같습니다. 지금은 요구사항이 2개뿐이라 Dto가 적지만 이러한 방식은 큰 관리 포인트로 자리 잡을 것 같습니다. static 클래스에 대해서 알아보면 좋을 것 같습니다.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels