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 @Getterpublic class Relation extends BaseEntity { @ManyToOne(fetch = LAZY) @JoinColumn(name = "member_id") private Member owner; @ManyToOne(fetch = LAZY) @JoinColumn(name = "friend_id") private OptionalMember> friend; protected Relation() {} public Relation(Member owner, Optional friend) { this.owner = owner; this.friend = friend; }...} ์ด๋ฐ์์ผ๋ก ์ํฐํฐ๊ฐ ์ค๊ณ๋๋ ๊ฒ์ด ์ณ์ ๋ฐฉ์์ธ์ง ๊ถ๊ธํฉ๋๋ค.