ํ๋ก์ ํธ ๊ธฐ๊ฐ๋์ ๊ฒช์ JPA ์ฃผ์์ฌํญ
โข
equals ์ hashCode ๋ ํญ์ ์ฌ์ ์ํ๊ธฐ
โฆ
์ฌ๋งํ๋ฉด Primary Key(ID)๊ฐ ์๋ย ํญ์ ๋ณ์น ์๊ณ ํด๋น ๊ฐ์ฒด๋ฅผ ๋ํํ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง ์ ์๋ ๋น์ฆ๋์ค ํค(business key)
โฆ
์ด์ ๋ Set๋ฑ์ ์์ํ๊ฐ ๋์ง ์์ ์ ๊ท ๊ฐ์ฒด๋ฅผ ๋ฃ์ ๊ฒฝ์ฐ ์ ๊ท ๊ฐ์ฒด๋ ์์ง ํ๋ผ์ด๋จธ๋ฆฌํค๊ฐ ์ง์ ๋์ง ์์ ์ํ์ด๊ธฐ ๋๋ฌธ์ ID๊ฐ ๋ชจ๋ย nullย ํน์ย 0
โฆ
๊ทผ๋ฐ ์์ ๊ฐ์ business key ๋ฅผ ์ฐพ๊ธฐ๊ฐ ์ฝ์ง ์๋ค.
โข
equals ์ฌ์ ์ํ ๋ ํ๋ก์ ๊ฐ์ฒด ์กฐ์ฌํ๊ธฐ
โฆ
getClass() != o.getClass() ์ด ๋ถ๋ถ์์ ๊ฐ์ ๊ฐ์ผ๋ก ์๋ํ์ง๋ง ํ๋ก์ ๊ฐ์ฒด๋ผ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ํด๋น ๋ถ๋ถ์ !(o instanceof Class) ๋ก ๋ณ๊ฒฝํด์ผ ํ๋ค.
โข
์ฐ๊ธฐ ์ง์ฐ ์ ์ฅ์์ ์ฟผ๋ฆฌ ์์ ์กฐ์ฌํ๊ธฐ!