• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

연관관계 편의 메소드 관련 질문

24.01.05 01:00 작성 24.01.05 01:03 수정 조회수 217

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
안녕하세요, 스프링부트 강의 잘 수강하고 있습니다.

<엔티티 설계시 주의점> 23:25 강의를 수강하며, 궁금한 점이 두가지 있습니다!

  1. 메소드 내 순서

//연관관계 편의 매소드
public void setMember1(Member member){
    this.member = member;
    member.getOrders().add(this);
}
//순서 이렇게도 가능한가?
public void setMember2(Member member){
    member.getOrders().add(this);
    this.member = member;
}

강의에서는 setMember1 방식으로 진행을 하였는데,

만약 setMember2 방식으로 순서가 바뀌어도 문제가 없는 것인지 궁금합니다.


  1. @Setter <-> setMember() 메소드 중복

     

Order 엔티티에 @setter 어노테이션을 붙였기에, 롬복이 setMember() 메소드를 자동으로 생성해줍니다.

강의에서는 연관관계 메소드명을 setMember()으로 생성하여, 롬복이 만들어주는 메소드랑 이름이 중복됩니다. 생성자를 만들어 실험해보니 롬복이 만들어주는 setMember() 메소드는 보여지지 않으며 연관관계 편의 메소드가 덮어쓰기 한 것으로 보이는데, 제대로 한 것이 맞을까요?

만약 실무에서 롬복을 사용할 때, 이런 경우(연관관계 메소드가 롬복 @Setter 메소드 위에 덮어쓴 경우)가 된다면 문제가 될 수도 있을까요???

답변 2

·

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2024.01.05

안녕하세요. 박인섭님, 공식 서포터즈 y2gcoder입니다.

  1. 그렇게 사용하셔도 될 것 같습니다!

  2. 롬복으로 생성한 setter와 직접 만든 setter 에서는 직접 만든 setter 가 우선순위를 가지는 것으로 알고 있습니다. 좀 찝찝하시다면 클래스 위에 @Setter를 하지 마시고 롬복에서 setter를 만들어줬으면 하는 필드들 위에 별개로 @Setter를 추가할 수 있습니다 :)

감사합니다.

박인섭님의 프로필

박인섭

질문자

2024.01.05

답변 감사드립니다:)

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.05

안녕하세요, 인프런 AI 인턴입니다.

박인섭님, 연관관계 편의 메소드에 대해 궁금한 점이 있으신 것 같습니다. 이전에 비슷한 질문에 대한 답변이 있어서 링크를 공유드리겠습니다.

“연관관계 편의 메소드 사용 목적 질문입니다.” 관련하여 김영한 강사님께서 답변하신 내용이 유사한 질문에 대한 해답이 될 수 있습니다. 아래 링크를 통해 확인하실 수 있습니다.

또한, “연관관계 편의 메소드에 궁금한 것이 있어 질문드립니다.“라는 질문에도 강사님께서 답변을 해주신 내용이 있으니 이 또한 참고하시면 도움이 되실 것 같습니다.

이러한 내용들로 궁금증이 해결되지 않는다면, 추가적으로 “양방향 연관관계 편의 메소드, 생성 메소드에 대해 질문드립니다.“에 대한 답변도 참고하실 수 있습니다.

답변을 보시고도 궁금한 점이 남아 있다면, 추가적인 질문을 통해 깊이 있는 해답을 얻으실 수 있습니다.