인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

area409@naver.com님의 프로필 이미지
area409@naver.com

작성한 질문수

스프링 데이터 JPA

JPA 프로그래밍 4. 관계 맵핑

Convenient Method 관련 질문입니다.

작성

·

182

0

안녕하세요 강사님.

강의에 대한 직접적인 질문은 아니지만,

Convenient method 관련해서 여쭤볼 게 있습니다.

public void addStudy(Study study){

    this.getStudies().add(study);

    study.setOwner(this);

}

이 부분에서 study.setOwner(this) 쪽 질문인데,

현재 저는 Entity에서 Setter를 최대한 지양하고 있습니다.

그래서 Study 클래스에서 Account 변수에만 setter를 만들어주는게 나을지,

아니면 역할은 똑같지만

public void addOwner(Account account){

    this.account = account;

}

이런식으로 Study 엔티티에 메소드를 하나 만들어서,

public void addStudy(Study study){

    this.getStudies().add(study);

    study.addOwner(this);

}

이런식으로 사용을 할지 고민 중인 상태입니다..

강사님의 의견이 궁금해서 질문 남겨봅니다. 항상 감사합니다!

답변 2

1

백기선님의 프로필 이미지
백기선
지식공유자

흠.. addOwner와 setOwner가 근본적으로 같은 일을 하는데 setter를 지양한다는 말씀은 set 으로 시작하는 메소드를 사용하지 않겠다는 의미인가요? addOwner는 뭐가 Owner가 여럿일 수 있다는 느낌이 들어서 오히려 setOwner가 더 적절하지 않나 싶네요.

0

네 근본적으로 같은 역할이지만, 외부에 setter를 노출시키는게 부담이 돼서 여쭤봤습니다!!

하지만 강사님 답변을 보니 이런 연관관계 매핑에서는 쓰는게 더 의사소통에 혼란이 적을것같네요

감사합니다!

area409@naver.com님의 프로필 이미지
area409@naver.com

작성한 질문수

질문하기