기본편부터 부트와활용1,2 스프링데이터JPA부터해서 마지막까지 쭉 듣고있는 학생인데요
질문 1개와 건의사항이 있습니다
*질문
ManyToOne, OneToMany 등 매핑하는거는 처음에 골머리 앓다보니 쉽게 하게되었는데
매핑되는 관계가 많을수록 연관관계메서드를 만들기가 어렵더라구요.
레포지토리에서 findBy하는부분이나
queryDSL로 동적쿼리 짜는 부분이랑 매핑하는거까진 하겠는데 연관관계를 못했다면
문제가 있는 거겠죠..?
연관관계메서드를 잘 짜는 팁이 있나 궁금합니다.
상상으로 ㅇㅇ는 ㅇㅇ하니까 이런 메서드가 필요하겠다.라고 생각하고 지어야하는건가요..?
*건의사항
선생님강의는 정말 다 너무 좋습니다. 다만 한가지 아쉬운점은 엔티티랑 관계가 너무 적고, 관계매핑할때도 아이템을 주문한다 같은 직관적인 관계말고도 약간 애매하게 연관되어있는것들도 있고 하나의 타입으로 묶이기 힘든데 공통필드가 많은 상속엔티티들도 있고..등등
현업에 계시면 많은것들을 다루실거같은데
하나의 엔티티에 과도한 관계를 매핑시킬때 푸는방법, 엔티티의 개수도 많게 하고 설계도 복잡하게 해서 푸는 강의를 찍어주실수있으신지 궁금합니다..!
가격에 상관없이 바로 들을꺼같은데..
요약하자면 만들어주신 강의들이 훌륭하지만 설계적인 면에서 간단하고, 설계가 복잡해지면 강의도 길어지고 목표점을 잃는다는거때문에 어쩔수없으셨겠지만..! 추가로 정말 실제로 최적화,튜닝하러 가서 겪었던 정말 안좋은 설계의 예시를 보여주신다던지, 복잡한 설계를 하고 하나의 프로젝트를 api화해서 풀어주신다던지 이런걸 만드실 계획이 있으신지 궁금합니다!
안녕하세요. angelican1님
질문
연관관계 메서드는 단순하게 생각하는게 좋습니다.
어렵다면 처음에는 그냥 연관관계 메서드 없이 개발하고, 아~ 이걸 추가하면 코드가 더 깔끔해지고 이해하기 쉽겠구나 하는 방식으로 리펙토링하는게 더 나을 수 있습니다.
건의사항
사실 놀랍게도, JPA 기본편 + 활용1편에서 실무에 필요한 모든 연관관계를 다 설명드립니다.
생각해보면 연관관계라는 것이 결국 일대다, 다대일, 일대일, 그리고 다대다를 일대다, 다대일로 푸는 것이 전부거든요.
그래서 이 부분을 딱 정리하면 거의 대부분의 관계를 해결할 수 있습니다. 실무에서도 가급적 문제를 단순하게 푸는 것이 가장 좋습니다.
angelican1님의 질문의 의도는 파악했습니다^^ 실무에서 하는 것 처럼 복잡한 프로젝트를 하나 해보면 좋겠다는 거지요^^? 처음부터 분석, 설계, 개발까지 하나의 큰 프로젝트를 해보는 거지요.
답을 드리자면 사실 고민은 하고 있습니다. 아직 확정은 아니지만, 이번 스프링 커리큘럼이 끝나고나면 그 다음으로 진행하려고 생각중입니다^^
아마 진행한다면 올해는 스프링 커리큘럼에 집중해야해서 쉽지 않을 것 같고 내년쯤 한번 고민해보겠습니다.
좋은 의견 감사합니다^^
답글
동의하는 바입니다.
선생님의 강의가 정말 기본부터 차근차근 배워나가기에 너무 좋습니다.
이론도 충실하고, 기능에 어떤 기술들을 사용하면서 어떻게 코드가 발전해나가는지를 아주 효과적인 방법으로 보여줍니다.
다만, 예제니까 도메인을 간단하게 잡아가다보니 좀 더 복잡한 예제에서는 어떻게 적용해야 할까 난감했는데, 스프링 로드맵 완성 이후에 만드실 의향이 있다고 하니 기대가 됩니다 ^^
답글