SQL์ ์ฌ์ฉํด ๊ฐ๋ฐ์ ํ๋ค๊ณ ๊ฐ์ ํด๋ณด์!
๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํ ํ
์ด๋ธ์ ๋ง๋ค๋ค ๋ณด๋ฉด, ์ง๋ฃจํ ์ฝ๋,,,,๐
๊ฐ ๋ฐ๋ณต๋๊ณ ์๋ค๋ ๊ฒ์ ์ค์ค๋ก ๋๋ผ๊ฒ ๋๋ค..^^
๊ฐ์ฒด CRUD์ ํ๋๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ๋ฅผ ๋ณด์!
์ด์ฒ๋ผ ์ฟผ๋ฆฌ๋ฅผ ํ ๋ ํ ๋ ์์ ํด์ผ ํ๋ค^^ ๋งค์ฐ ๊ท์ฐฎ^^
โก๏ธ SQL์ ์์กด์ ์ธ ๊ฐ๋ฐ์ ํผํ๊ธฐ๊ฐ ์ด๋ ต๋ค!
โก๏ธ ํ์ค์ ์ธ ๋์์ ๋ฐ๋ก โ๏ธ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์คโ๏ธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
1๏ธโฃ ์์
๊ฐ๊ฐ์ ํ
์ด๋ธ์ ๋ฐ๋ฅธ ์กฐ์ธ SQL ์์ฑ,, ๊ฐ๊ฐ์ ๊ฐ์ฒด ์์ฑ,, ์์๋ง ํด๋ ๋ณต์กํด์ง๋ค ๐
โก๏ธ ๊ฐ์ฒด์๋ ๋ค๋ฅด๊ฒ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ DB์ ์ ์ฅํ ๊ฐ์ฒด์๋ ์์ ๊ด๊ณ๋ฅผ ์ฐ์ง ์๋๋ค!!
2๏ธโฃ ์ฐ๊ด๊ด๊ณ
member.getTeam()
JOIN ON M.TEAM_ID = T.TEAM_ID
โ๏ธ ๊ฐ์ฒด๋ฅผ ํ
์ด๋ธ์ ๋ง์ถ์ด ๋ชจ๋ธ๋ง
๊ทธ๋ฌ๋ ์ด ๋ฐฉ๋ฒ์ ๋ญ๊ฐ ๊ฐ์ฒด์งํฅ ์ค๋ฝ์ง ์๋ค,, ๋ฉค๋ฒ๊ฐ ์ธ๋ํค ๊ฐ์ ๊ฐ์ง๋ ๊ฒ์ด ์๋๋ผ ์ฐธ์กฐ๊ฐ์ ๊ฐ์ ธ์ผ ํ๋๊ฒ ์๋๊น๐คโ
โ๏ธ ๊ฐ์ฒด ๋ชจ๋ธ๋ง ์ ์ฅ
์ธ๋ํค ๊ฐ์ด ์๋ TEAM_ID
๋์ , member.getTeam().getId()
์ผ๋ก ์ฐธ์กฐํด์ ์ป์ด์ค๋ฉด ์ ์ฅ์ ํ ์ ์๋ค!
โฌ๏ธ ์์ ๋ฐฉ๋ฒ์ฒ๋ผ ์ ์ฅํ๋ค๊ณ ํ์ ๋ ์ง์ ํ ๋ฌธ์ ๋ ์กฐํํ ๋ ๋ฐ์ํ๋ค,,
โ๏ธ ๊ฐ์ฒด ๋ชจ๋ธ๋ง ์กฐํ
โ๏ธ ๊ฐ์ฒด ๊ทธ๋ํ ํ์
โฌ๏ธ ์์ ๊ฐ์ด ๊ฐ์ฒด๋ ์์ ๋กญ๊ฒ ๊ฐ์ฒด ๊ทธ๋ํ๋ฅผ ํ์ํ ์ ์์ด์ผ ํ๋๋ฐ ๊ทธ๋ ์ง ๋ชปํ๋ค,,
โฌ๏ธ ๋ฐ๋ก ์ฒ์ ์คํํ๋ SQL์ ๋ฐ๋ผ ํ์ ๋ฒ์๊ฐ ๊ฒฐ์ ๋ผ๋ฒ๋ฆฌ๊ธฐ ๋๋ฌธ๐
์ด๋ ๊ณง ์ํฐํฐ ์ ๋ขฐ๋ฌธ์ ๊น์ง ์ด์ด์ง ์ ์๋ค!
์ํฌ,, ๊ฐ์ฒด๋ต๊ฒ ๋ชจ๋ธ๋ง ํ ์๋ก ๋งคํ ์์
๋ง ๋์ด๋๋๋ฐ,,, ์ด๋กํ๋ผ๋ ๊ฑฐ์ฃ ,,,,^_^?
๊ฐ์ฒด๋ต๊ฒ ๋ชจ๋ธ๋ง ํ ์๋ก ๋งคํ ์์ ๋ง ๋์ด๋๋๋ฐ, ๊ฐ์ฒด๋ฅผ ์๋ฐ ์ปฌ๋ ์ ์ ์ ์ฅํ๋ฏ์ด DB์ ์ ์ฅํ ์๋ ์์๊น๐คโ
๊ทธ๋์ ๋์จ ๊ฒ์ด โ๏ธJPAโ๏ธ
๐ JPA
- Java Persistence API
- ์๋ฐ ์ง์์ ORM ๊ธฐ์ ํ์ค
๐ ORM
- Object-relational mapping(๊ฐ์ฒด ๊ด๊ณ ๋งคํ)
- ๊ฐ์ฒด๋ ๊ฐ์ฒด๋๋ก ์ค๊ณ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋๋ก ์ค๊ณ - ORM ํ๋ ์์ํฌ๊ฐ ์ค๊ฐ์์ ๋งคํ
- ๋์ค์ ์ธ ์ธ์ด์๋ ๋๋ถ๋ถ ORM ๊ธฐ์ ์ด ์กด์ฌ
- SQL ์ค์ฌ์ ์ธ ๊ฐ๋ฐ์์ ๊ฐ์ฒด ์ค์ฌ์ผ๋ก ๊ฐ๋ฐ
- ์์ฐ์ฑ
- ์ ์ง๋ณด์
- ํจ๋ฌ๋ค์์ ๋ถ์ผ์น ํด๊ฒฐ
- ์ฑ๋ฅ
- ๋ฐ์ดํฐ ์ ๊ทผ ์ถ์ํ์ ๋ฒค๋ ๋ ๋ฆฝ์ฑ
- ํ์ค
1๏ธโฃ ๊ธฐ์กด : ํ๋ ๋ณ๊ฒฝ์ ๋ชจ๋ SQL ์์
2๏ธโฃ JPA : ํ๋๋ง ์ถ๊ฐํ๋ฉด ๋จ, SQL์ JPA๊ฐ ์ฒ๋ฆฌ
1๏ธโฃ ์์ - ์ ์ฅ
2๏ธโฃ ์์ - ์กฐํ
3๏ธโฃ ์ฐ๊ด๊ด๊ณ, ๊ฐ์ฒด ๊ทธ๋ํ ํ์
4๏ธโฃ ์ ๋ขฐํ ์ ์๋ ์ํฐํฐ, ๊ณ์ธต
1๏ธโฃ 1์ฐจ ์บ์์ ๋์ผ์ฑ(identity) ๋ณด์ฅ
2๏ธโฃ ํธ๋์ญ์ ์ ์ง์ํ๋ ์ฐ๊ธฐ ์ง์ฐ(transactional write-behind)
3๏ธโฃ ์ง์ฐ ๋ก๋ฉ(Lazy Loading)
๋ก๋๋งต2 ๋ฟ์์!!!!!!!!!!!!!ใ
์ฐ์ใ
์์!!!!!!!!!!!!!!!!!!!!!!!!