์ƒ์†๊ด€๊ณ„๋งคํ•‘

    JPA ์ƒ์†๊ด€๊ณ„ ๋งคํ•‘ํ•˜๊ธฐ(+ @MappedSuperclass)

    JPA ์ƒ์†๊ด€๊ณ„ ๋งคํ•‘ํ•˜๊ธฐ(+ @MappedSuperclass)

    ๋„์ž… ์ง€๋‚œ ์‹œ๊ฐ„์— JPA๋ฅผ ํ™œ์šฉํ•ด ๊ฐ์ฒด์™€ ์—ฐ๊ด€๊ด€๊ณ„ ๋งคํ•‘์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” JPA๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ์ฒด์˜ ์ƒ์†๊ด€๊ณ„๋ฅผ ํ…Œ์ด๋ธ”๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด๊ณ , ์ƒ์†๊ด€๊ณ„์™€๋Š” ๋‹ค๋ฅด์ง€๋งŒ ๋น„์Šทํ•ด์„œ ํ˜ผ๋™ํ•˜๊ธฐ ์‰ฌ์šด ๊ฐœ๋…์ธ @MappedSuperclass๋ฅผ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. ์ƒ์†๊ด€๊ณ„ ๋งคํ•‘ ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด์—์„œ๋Š” ์ค‘๋ณต๋˜๋Š” ์ •๋ณด๋ฅผ ์ƒ์†๊ด€๊ณ„๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌถ์–ด์ค„ ์ˆ˜์žˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ์‚ฌ๋žŒ๊ณผ ๊ฐ•์•„์ง€ ๊ณ ์–‘์ด๋Š” ๋ชจ๋‘ ์ด๋ฆ„๊ณผ ๋‚˜์ด ๊ทธ๋ฆฌ๊ณ  ๊ตฌ๋ถ„์ง€์–ด์ค„ ID๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์ง•์„ '๋™๋ฌผ'๋กœ ๋ฌถ์–ด์„œ ์ƒ์†ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ฒด์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ์ƒ์†์„ ํ—ˆ์šฉํ•ด์ฃผ์ง€๋งŒ, ํ…Œ์ด๋ธ”์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ์ƒ์†์„ ํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์ƒ์†์„ ์œ„ํ•ด์„œ๋Š” ์ „๋žต์„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค. ์ƒ์†์˜ ์ „๋žต์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” @Inheritance annotation์„ ์ด์šฉํ•˜..