inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

고산하님의 게시글

고산하 고산하

@sanha9804

수강생
-
수강평
-
강의 평점
-

게시글 2

질문&답변

Optional 적용 문제

답변 감사드립니다! Optional에서 값을 꺼내는 것과 별개로 서비스단의 followFriend 메서드에서 Oprtional receiver = memberRepository.findByEmail(request.getReceiverEmail()); 와 같이 해당 이메일에 해당하는 Member 객체를 가져왔고 메서드의 마지막에서 relationRepository.save(new Relation(requester, Optional receiver)); 와 같이 Relation 객체를 생성해서 DB에 저장해 주는 코드를 작성하였습니다. Optional로 감싸서 조회하였기 때문에 생성자 매개변수 receiver 또한 Optional로 감싸주게 되었고 이렇게 되면 Relation 객체의 friend 필드에도 Optional을 선언해 줘야했습니다. @Entity @Getter public class Relation extends BaseEntity { @ManyToOne(fetch = LAZY) @JoinColumn(name = "member_id" ) private Member owner; @ManyToOne(fetch = LAZY) @JoinColumn(name = "friend_id" ) private Optional Member> friend; protected Relation() {} public Relation(Member owner, Optional friend) { this .owner = owner; this .friend = friend; } ... } 이런식으로 엔티티가 설계되는 것이 옳은 방식인지 궁금합니다.

좋아요수
1
댓글수
2
조회수
1404