sejun4251057
@sejun4251057
Students
-
Reviews
-
Course Rating
-
Posts
Q&A
@JoinColumn ์ง๋ฌธ :]
DB ํ ์ด๋ธ ๊ธฐ์ค์ผ๋ก ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.MEMBER ํ ์ด๋ธ์ ์ธ๋ํค TEAM_ID ์ปฌ๋ผ์ ์ ํํ๋๊ฑฐ์์. ์๋ฐ ํด๋์ค์๋ ๋ฌด๊ดํฉ๋๋ค
- 0
- 1
- 392
Q&A
๋ฒํฌ ์ฐ์ฐ, ์์์ฑ ์ปจํ ์คํธ ํ member.getAge() ์กฐํ ๊ฒฐ๊ณผ ์ง๋ฌธ๋๋ฆฝ๋๋ค!
Member member1 = memberRepository.findById(memberId) // ๋ฉค๋ฒ์ age๋ 0 em.createQuery("update ~~") // ๋ฒํฌ ์ ๋ฐ์ดํธ em.clear() //์์์ฑ ์ปจํ ์คํธ ์ด๊ธฐํ System.out.println(member1.getAge()) // 0 ์ถ๋ ฅ์ด๋ฐ ์ํฉ์ผ๋ก ์ดํดํ๋ฉด ๋ ๊น์?
- 3
- 2
- 308
Q&A
์ฐ๊ด๊ด๊ณ ์ฃผ์ธ ๊ด๋ จ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
1. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ์ ๋ ํ ์ด๋ธ ์ ์๋ถํฐ๊ฐ ์ ๋๋ก ์ ๋ฉ๋๋ค.์ดํดํ์ ๊ฒ์ฒ๋ผ DB๋ ์ธ๋ํค ํ๋๋ก ์๋ฐฉํฅ์ด ๊ฐ๋ฅํ๋ฐ, ๊ฐ์ฒด๋ ๋จ๋ฐฉํฅ ์ฐธ์กฐ ๋ ๊ฐ๋ก ์ด๋ฅผ ํ๋ด๋ ๋๋ค.๋ฐ๋๋ก ์๋ฐฉํฅ์ผ๋ก ์ฐ๊ฒฐ๋๋๋ก ์ํฐํฐ๋ฅผ ์ค๊ณํ๋ฉด DB์ ์ฅ์์๋ ์ด๊ฒ ํ๋์ ์ฐ๊ด๊ด๊ณ๋ฅผ ์๋ฐฉํฅ์ผ๋ก ํ๋ด๋ธ๊ฑด์ง ๋ ๊ฐ์ ์ฐ๊ด๊ด๊ณ๊ฐ ํ์ํ๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋ฉ๋๋ค. ์ค์ ๋ก ๊ฐ์์ ๋์จ Member์ Team ์์ ์ ์์ด์, mappedBy๋ฅผ ๋ฃ์ง ์๊ณ ddl-auto crreate๋ก ๋๋ ค๋ณด์๋ฉด team -> member ์ผ๋๋ค ์ฐ๊ด๊ด๊ณ๋ฅผ ๋งตํํ๊ธฐ ์ํ ํ ์ด๋ธ์ด ํ๋ ๋ ์ถ๊ฐ๋ก ์์ฑ๋ฉ๋๋ค. Hibernate: create table member (member_id bigint not null, team_id bigint, primary key (member_id))Hibernate: create table team (team_id bigint not null, primary key (team_id))Hibernate: create table team_team (team_team_id bigint not null, team_member_id bigint not null ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ ๊ฐ๋ ์ด ์์ด์ผ ์ฐ๋ฆฌ๊ฐ ์ค์ ํ ์๋ฐฉํฅ ๊ด๊ณ๊ฐ TABLE ๊ฐ๋ ์์์ ์ฐ๊ด๊ด๊ณ ํ๋์์ ๋ณด์ฅํ ์ ์์ต๋๋ค.2. ์์์ฑ ์ปจํ ์คํธ ๋ณ๊ฒฝ๊ฐ์ง ๊ธฐ์คmember.setTeam(), team.addMember()๋ฅผ ๋ชจ๋ ํ์ฉํ๊ฒ ๋๋ฉด ์์์ฑ ์ปจํ ์คํธ๊ฐ ๋๋ฌด ๋ณต์กํด์ง๋๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ์ update ์ฟผ๋ฆฌ๊ฐ ๋ ๋ฒ ๋๊ฐ๊ฒ ๋ ์ ์๊ณ (์์ชฝ ์ฐ๊ด๊ด๊ณ๊ฐ ๋ชจ๋ ์ ๋ฐ์ดํธ ๋ ๊ฒฝ์ฐ), ์ด๋ฅผ ์ต์ ํํ๊ธฐ ์ํ ์ถ๊ฐ์ ์ธ ์ฐ์ฐ๋ ๋ง์ ๊ฒ ์ ๋๋ค. ๋ํ ์์ชฝ ์ฐ๊ด๊ด๊ณ๊ฐ ๋ชจ์๋๋ ๊ฒฝ์ฐ์๋ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง์ ๋ํ ๊ท์ฝ๋ ํจ์ฌ ๋ณต์กํด์ง๋๋ค.์์ปจ๋ team.members์๋ member1์ด ์๋ ์ํ์์ member1.setTeam(null) ์ ํ ๊ฒฝ์ฐ ์ด๋์ชฝ์ ๋ฐ๋ผ์ผ ํ๋๊ฐ? ๋ฑ๋ฑ..
- 0
- 1
- 324
Q&A
์ง์ฐ ๋ก๋ฉ update ์
JPA์ ํ์ด๋ฒ๋ค์ดํธ์ ๊ตฌํ๊ณผ๋ ๊ด๊ณ ์์ด ์ผ๋ฐ์ ์ผ๋ก ์ง์ฐ๋ก๋ฉ์ ์กฐํ์ ๊น์ ๊ด๋ จ์ด ์๋ ๊ฐ๋ ์ ๋๋ค. ๋ง ๊ทธ๋๋ก ์กฐํ๊ฐ ํ์ํ ์์ ๊น์ง ์กฐํ๋ฅผ ๋ฆ์ถ๊ฒ ๋ค๋ ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์กฐํํ ๊ฐ์ฒด๋ฅผ ์์ ํ๋ ๊ฒ์ ์ง์ฐ๋ก๋ฉ๊ณผ๋ ๊ด๋ จ์ด ์๋ ๊ฐ๋ ์ผ๋ก, ์ง์ฐ๋ก๋ฉ์ด๋ ์๋๋ ์์์ฑ ์ปจํ ์คํธ ๋ณ๊ฒฝ๊ฐ์ง๋ ๋๊ฐ์ด ์ด๋ฃจ์ด์ง๋๋ค. ๋ง์ง๋ง์ผ๋ก, update ์ฟผ๋ฆฌ๋MEMBER์๋ฐ์ ๋๊ฐ ์ ์๋ ๊ตฌ์กฐ์ ๋๋ค. MEMBER๊ฐ TEAM์ ์ธ๋ํค๋ฅผ ๋ค๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. (TEAM์ชฝ์ update๋ฅผ ํด์ member์์ ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ท์ ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค)์ฐ๊ด๊ด๊ณ์ ๋ํ ์์์ฑ ์ปจํ ์คํธ์ ๋ณ๊ฒฝ๊ฐ์ง๋ ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ ์ชฝ์์๋ง ์ผ์ด๋ฉ๋๋ค.MEMBER๊ฐ ์ฃผ์ธ์ด๋ผ๋ฉด member.setTeam ์ด update ์ฟผ๋ฆฌ๋ฅผ ๋ฐ๋์ํฌ๊ฒ์ด๊ณ , TEAM์ด ์ฃผ์ธ์ด๋ผ๋ฉด team.addMember()๊ฐ update ์ฟผ๋ฆฌ๋ฅผ ๋ฐ๋์ํฌ ๊ฒ์ ๋๋ค.์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ ๊ฐ์๋ฅผ ๋ณด์๋ฉด ์ดํด๊ฐ ๊ฐ์ค๊ฑฐ์์
- 0
- 1
- 256
Q&A
์ฐ๊ด๊ด๊ณ ์ฃผ์ธ ์๋ฐฐ?
์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ ๊ฐ๋ ์ ์์์ฑ ์ปจํ ์คํธ์๊ฒ ์ด๋์ชฝ์ด ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ด๋ฆฌํ๋ ์ฃผ์ธ ์ญํ ์ ํ๋์ง ์๋ ค์ฃผ๋ ๊ฐ๋ ์ด๊ณ , CASCADE๋ PERSIST, REMOVE ๋ฑ์ ํน์ ์ก์ ์ด ์ํฐํฐ์ ๊ฑธ๋ฆด ๋ ์์ ์ํฐํฐ์๋ ๊ฐ์ ์ก์ ์ "์ ํ"์์ผ์ฃผ๋์ง๋ง ์ ๊ฒฝ์ฐ๋ ๊ฐ๋ ์ ๋๋ค. ๊ฐ์์ ๋์จ Member์ Team์ ์์๋ก ํ๊ฒ ์ต๋๋ค. Team team = new Team(); team.add(new Memeber()); em.persist(team); ์ ์ฝ๋๋ง ์์ ์ CASCADE ์ต์ ์ด ์๋ค๋ฉด ์ฐ๊ด๊ด๊ณ๊ฐ TEAM ์ชฝ์ผ๋ก ์กํ์๋ค๊ณ ํ๋๋ผ๋ ๋ฉค๋ฒ๋ ์์์ฑ ์ปจํ ์คํธ์ ๋ฑ๋ก๋์ง ์์ต๋๋ค. CASCADE ์ต์ ์ด ์ ์ฝ๋์์ ํ๋ ์ญํ ์ em.persist(team)์ ํด์คฌ์๋ team ๊ฐ์ฒด ์์ ์์๊ฐ์ฒด๋ค์ ์ฐพ์์ ์์๊ฐ์ฒด ๋ํ ์๋์ผ๋ก persist๋ฅผ ํด์ฃผ๋ ๊ฒ์ผ ๋ฟ์ ๋๋ค. ๊ฐ๋ ์ ์ผ๋ก๋ ์ด๋ ๊ฒ ์ฐ๊ด๊ด๊ณ์๋ ๋ณ๊ฐ์ ๊ฐ๋ ์ด์ง๋ง, CASCADE ์ต์ ์ ๊ทธ๋ฅ ๋ง๊ตฌ์ก์ด๋ก ํธํ๋๋ก ์ฐ๋ค๋ณด๋ฉด DB๊ด๋ฆฌ๊ฐ ํฌ๊ฒ ์๋ชป๋ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ช ์ฃผ๊ธฐ๊ฐ ๋ช ํํ ๊ฐ์ฒด๋ผ๋ฆฌ ๋ถ์ด๊ฒ ๋๊ณ , ๊ทธ๋ฌ๋ค๋ณด๋ ์ฐ๊ด๊ด๊ณ ๊ฐ๋ ๊ณผ ์์ฌ์ ํผ๋์ค๋ฌ์ธ ์ ์๋ ๊ฐ๋ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
- 1
- 1
- 373
Q&A
์ ๋ฐ์ดํธ ์ฟผ๋ฆฌ๊ฐ ๋ง์ง๋ง์ ๋๊ฐ๋ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
OrderItem์ด ์์ํ๋๋ ์์ ์ Item์ ๋น์์ ์ํ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.๋ฏธ๋ฆฌ setItem์ ํด๋ํ์ด๋ item ๊ฐ์ฒด์ ๊ณ ์ ์๋ณ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ํด๋น ์์ ์ ์์์ฑ์ปจํ ์คํธ์ ๊ด๋ฆฌ๋ฅผ ํด์ค ์ ๊ฐ ์์ต๋๋ค.์ถํ em.persist(item)์ ํ๊ฒ ๋๋ฉด ๋น๋ก์ item์ด ์์์ํ๊ฐ ๋๊ณ ๋ณ๊ฒฝ๊ฐ์ง๊ฐ ์ผ์ด๋ฉ๋๋ค.
- 1
- 1
- 240
Q&A
ํจ์น์กฐ์ธ๊ณผ ์ผ๋ฐ ์กฐ์ธ ์ง๋ฌธ์์ต๋๋ค
์ฐ๊ด๋ ์ํฐํฐ๋ฅผ ์กฐํํ ์ผ์ด ์๋๋ผ๋ ์ง์ฐ๋ก๋ฉํ๋๊ฒ ์ฑ๋ฅ์ ์ด์ ์ด ์์ ๊ฒฝ์ฐ์๋ fetch join์ ํ๋ฉด ์๋ฉ๋๋ค. ๋น์ฆ๋์ค ๋ก์ง์ ๋ฐ๋ผ์ ์ด๋ป๊ฒ ํ๋๊ฒ ์ข์์ง ๊ทธ๋๊ทธ๋ ์ํฉ ๋ด์ ํ๋จํ๋๊ฒ ์ข๊ฒ ์ต๋๋ค
- 1
- 2
- 228
Q&A
์ฐ๊ด๊ด๊ณ ํธ์๋ฉ์๋ .
2. ์ผ๋๋ค์์ fetch join ์ ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋ปฅํ๊ธฐ๋๋ ์ด์ ๋ fetch join ๋๋ฌธ์ด ์๋๊ณ SQL ๋ฌธ ์คํ ์์ฒด๊ฐ ๊ทธ๋ ๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์ fetch join ๋ ๊ฒฐ๊ตญ inner join SQL๋ฌธ์ ์คํ์ํค๊ณ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ฝ์ต๋๋ค. (TeamA์ ID๋ 1, member์ id๋ ๊ฐ๊ฐ 1, 2๋ผ ๊ฐ์ ) TEAM_ID, MEMBER_ID 1, 1 1, 2 ์ฆ team์ ํ๋๋ฐ์ ์๋๋ฐ ๋ฉค๋ฒ์๋งํผ row์๊ฐ ๋ปฅํ๊ธฐ๋์ ๊ฒฐ๊ณผ๋ฌผ์ด ๋์ค๊ฒ ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ธ ํ์ด์ง ๋ฐฉ์์ผ๋ก ์ฒซ ๋ฒ์งธ ๋ ์ฝ๋๋ง ๋ฝ๋๋ค๊ณ ํ๋ฉด, ์์ ๊ฒฐ๊ณผ๋ฌผ์ ์ฒซ๋ฒ์งธ ๋ ์ฝ๋๋ง ๋ฐํ์ ํ๊ฒ ๋๋๋ฐ ๊ทธ๋ ๊ฒ ๋๋ฉด teamA์ ๋ฉค๋ฒ1๋ฐ์ ๋ธ๋ ค๋์ค์ง ์์ต๋๋ค. ์ฌ์ฉ์์ ์๋์๋ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฌผ์ด ๋์ค๊ฒ ๋์ง์. ๋ฐ๋ผ์ DB๋จ๊ณ์์์ ์ต์ ํ๋ฅผ ๊ธฐ๋ํ ์ ์๊ธฐ ๋๋ฌธ์ DB์์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค ์กฐํํ๊ณ ๋ฉ๋ชจ๋ฆฌ์์ ์ถ๋ ค๋ด๋ ์๋ฐ์ ์๊ฒ ๋ฉ๋๋ค. ์์์๋ ๋ฉค๋ฒ๊ฐ ๋ ๋ฐ์ ์์ด์ ๊ด์ฐฎ์์ง๋ง ๋ฉค๋ฒ๊ฐ 1000๋ง๋ช ์ด์๋ค๋ฉด, ์ฒซ 1๊ฐ๋ง ๋ฝ๊ณ ์ถ์ด๋ DB์์๋ 1000๋ง๊ฐ์ ๋ ์ฝ๋๋ฅผ ์ ๋ถ ์กฐํํด์ ๊ฐ์ ธ์จ๋ค์์ ๋ฉ๋ชจ๋ฆฌ ์์์ ์ฒซ 1๊ฐ๋ง ์ถ๋ ค๋ด๊ฒ ๋๊ธฐ ๋๋ฌธ์ ์๋์๋ ๋ค๋ฅด๊ฒ ๊ต์ฅํ ๋ฌด๊ฑฐ์ด ์์ ์ด ๋์ด๋ฒ๋ฆฝ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋งํ์๋ฉด, ์ํํ๋ค๋ ๊ธฐ์ค์ด ์๋์๋ ๋ค๋ฅธ ์๋ชป๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ๊น๋ด ์ํํ๋ค๋๊ฒ์ด ์๋ ๋ด ์๋์๋ ๋ค๋ฅธ ๋งค์ฐ ๋ฌด๊ฑฐ์ด ์์ ์ด ๋ ํ๋ฅ ์ด ๋งค์ฐ ๋ํํ๋ค๋ ์ ์์ ์ํํ ์ฝ๋๊ฐ ๋๊ฒ ์ต๋๋ค
- 2
- 2
- 471
Q&A
์ฐ๊ด๊ด๊ณ ํธ์๋ฉ์๋ .
1. ๋น์ฐํ member์ team์ ์ฐ๊ฒฐํ๊ณ ๋๋ฉด, ์ถํ em.find()๋ก team์ ๊ฐ์ ธ์์ ์ team.getMembers()์ ์ ๋ฐ์์ด ๋๊ฒ ๋ฉ๋๋ค. ๊ฐ์์์ ์ค๋ช ํ๊ณ ์ ํ๋ ๋ถ๋ถ์ ํ ํธ๋์ญ์ ์ด ๋๋๊ธฐ ์ ์๋, ๋ ผ๋ฆฌ์ ์ผ๋ก๋ member์ team์ด ๋ค์ด๊ฐ๋ฉด ์๋์ ์ผ๋ก team์ member๋ ์ถ๊ฐ๋์ด์ผ ์ ์์ด์ง๋ง ๊ทธ๋ฐ ํจ๊ณผ๋ฅผ ๋จ์ setter๋ก๋ง ๋๋ฆด์๋ ์๊ธฐ ๋๋ฌธ์ ๋งค๋ฒ member.setTeam(team), team.addMember(member) ํ๋๊ฒ ๊ท์ฐฎ๋ค๋ฉด ๋ ๊ฐ ๊ธฐ๋ฅ์ ํฉ์น ๋ฉ์๋๋ฅผ ๋ง๋ค๋ฉด ํธํ๋ค๋ ์๊ธฐ๋ฅผ ํ์ ๊ฒ ๊ฐ์ต๋๋ค
- 2
- 2
- 471
Q&A
์ ์๋ฟ์ง๊ฐ ์์ต๋๋คใ ใ
์ด ๊ฐ์์ ๊ธฐ๋ณธ ํ๋ฆ์, Table์์ ์ง์ํ๋ ์์ ๋ค์ ์ด๋ป๊ฒ ORM์์ ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ๊น๋ํ๊ฒ ๊ตฌํํด์ฃผ๋๋์ ๋ฌธ์ ์ ๋๋ค. Member์ Team ํ ์ด๋ธ์ด ์์ ๋, Member์ ์ธ๋ํค๊ฐ ์๊ฒ ์ฃ ? Member ์ชฝ์ด N ์ด๋๊น. ์ด ๋ DB์์ select ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ Team์ ๊ธฐ์ค์ผ๋ก Member์ joinํ๋ ์ง, Member๋ฅผ ๊ธฐ์ค์ผ๋ก Team๊ณผ ์กฐ์ธํ๋ ์ง ์กฐํํ ๋๋ ์ด๋์ชฝ์ด๋ ์์ ๋กญ๊ฒ ์กฐํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ํ์ง๋ง ๊ฐ์ฒด์งํฅ์ ๊ทธ๋ ์ง๊ฐ ๋ชปํ์ฃ . Member ์์ team์ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๋ฉด member.getTeam()๋ฅผ, team์์ member๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค๋ฉด team.getMembers() ๊ฐ ๊ฐ๋ฅํ๋๋ก ๊ฐ๊ฐ ํ ์ด๋ธ์ ๋ฉค๋ฒ๋ณ์๋ฅผ ์ถ๊ฐํด์ฃผ๊ณ ์ด๋ฅผ ORM์ด ์ธ์ํ๋๋ก ์ด๋ ธํ ์ด์ ์ ๋ถ์ฌ์ฃผ์ด์ผ ํ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์๊น๋๋ค. ์กฐํ๋ง ํ ๋๋ ๋ฌธ์ ๊ฐ ์์ด๋ณด์์ง๋ง ์ฝ์ ์ ํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ๋ง๋๋ฉด ORM์ด ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ ๊น์? team.addMember(member); member.setTeam(team); team์ ๋ฉค๋ฒ๋ฅผ ์ถ๊ฐํ๋๊น ์๋ก์ด member๋ฅผ DB์ insert ํ๊ฑฐ๋ ์ธ๋ํค๋ฅผ update ํด์ฃผ๊ณ , member์ team์ ๋ฑ๋ก์์ผ์ฃผ๋๊น ์๋ก์ด team ๋ํ DB์ insert ํ๊ฑฐ๋ ์ธ๋ํค๋ฅผ update ํด์ฃผ๊ณ .. ๋ญ๊ฐ ์ด์ํ์ฃ ? ์ธ๋ํค ํ๋๋ก DB๋ ์์ ๋กญ๊ฒ ์๋ฐฉํฅ ํ์์ด ๊ฐ๋ฅํ๊ฒ์ ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ๋ง์ถ๋ ค๋ค๋ณด๋ ์ถ๊ฐ์ ์ผ๋ก ์ผ์ด ์๊ธด๊ฒ๋๋ค. DB์์๋ member ํ ์ด๋ธ์ team๊ด๋ จ ์ธ๋ํค๋ง ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์ ์ธ์๋ team์ชฝ์์ ๋ญ๊ฐ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๋๋ฐ, ๊ฐ์ฒด์งํฅ์ ์ผ๋ก๋ team์ชฝ์์ ๊ฑด๋๋ ค๋ฒ๋ฆด ์ ์๋ ์ฌ์ง๊ฐ ์๊ธด๊ฑฐ์์. ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ์ด๋ ๊ฒ์, ์ด๋ฐ ๊ฒฝ์ฐ ๋ค๋ฅธ ํ ์ด๋ธ์ ์ํฅ์ ์ค ์ ์๋ ๋ช ๋ น์ ์ด๋ ์ํฐํฐ ๊ฐ์ฒด๋ก ํ์ ์ง์ด๋ฒ๋ฆด ๊ฒ์ธ๊ฐ? ํ๋ ๋ฌธ์ ์ ๋๋ค. ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ์ด Member ๋ผ๋ฉด member.setTeam(team); ๋ง ์ ๊ฒฝ์ ์ธ ๊ฒ์ด๊ณ , ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ์ด Team์ด๋ผ๋ฉด team.addMembers(member);๋ง ์ ๊ฒฝ์ ์ฐ๊ฒ ๋ค๋ ๊ฒ์ ๋๋ค. ์ ์๋ DB์ ์ผ์นํ๋ ํจ๋ฌ๋ค์์ผ๋ก member์ team์ธ๋ํค๋ง ์ ๋ฐ์ดํธ ํด์ฃผ๋ฉด ๋๋ ๋ฐ๋ฉด, ํ์๋ JPA๊ฐ ์ด๊ฑฐ์ง๋ก ์ฐ๊ฒฐํด์ค ๊ฒ์ผ๋ก team์์ ์์ ์ด ์์๋์๋๋ฐ ์ต์ข ์ ์ผ๋ก๋ member ํ ์ด๋ธ์ team์ธ๋ํค๊ฐ ์ ๋ฐ์ดํธ๋๊ธฐ ๋๋ฌธ์ ๊ฐ๊ธ์ ์ด๋ฉด ์ ์์ ๋ฐฉ๋ฒ์ ์ทจํ๋๊ฒ ์ข๋ค๊ณ ๊ฐ์์์ ์ค๋ช ํ๊ณ ์์ต๋๋ค
- 1
- 2
- 465




