๐๋ค๋ก๊ฐ๊ธฐ
- ์ฌ๊ณ ๊ฐ 10๊ฐ ๋ฏธ๋ง์ธ ๋ชจ๋ ์ํ์ ๊ฐ๊ฒฉ์ 10% ์ธ์์ํค๋ ค๋ฉด?
- JPA ๋ณ๊ฒฝ ๊ฐ์ง ๊ธฐ๋ฅ์ผ๋ก ์คํํ๋ ค๋ฉด ๋๋ฌด ๋ง์ SQL์ด ์คํ๋๋ค.
- ์ฌ๊ณ ๊ฐ 10๊ฐ ๋ฏธ๋ง์ธ ์ํ์ ๋ฆฌ์คํธ๋ก ์กฐํํ๋ค.
- ์ํ ์ํฐํฐ์ ๊ฐ๊ฒฉ์ 10% ์ธ์์ํจ๋ค.
- ํธ๋์ญ์
์ปค๋ฐ ์์ ์ ๋ณ๊ฒฝ ๊ฐ์ง๊ฐ ๋์ํ๋ค.
- ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๊ฐ 100๊ฑด์ด๋ฉด 100๋ฒ์ UPDATE SQL์ด ์คํ๋๋ค.
๋ฒํฌ ์ฐ์ฐ ์์
- ์ฟผ๋ฆฌ ํ ๋ฒ์ผ๋ก ์ฌ๋ฌ ํ
์ด๋ธ ๋ก์ฐ(์ํฐํฐ)๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค
- executeUpdate()์ ๊ฒฐ๊ณผ๋ ์ํฅ๋ฐ์ ์ํฐํฐ ์ ๋ฐํ
- UPDATE, DELETE ์ง์
- INSERT(insert into .. select, ํ์ด๋ฒ๋ค์ดํธ ์ง์)
String qlString = "update Product p " +
"set p.price = p.price * 1.1 " +
"where p.stockAmount < :stockAmount";
int resultCount = em.createQuery(qlString)
.setParameter("stockAmount", 10)
.executeUpdate();
๋ฒํฌ ์ฐ์ฐ ์ฃผ์
- ์์์ฑ ์ปจํ
์คํธ๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋ฌด์ํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆฐ๋ค.
ํด๊ฒฐ์ฑ
:
- ๋ฒํฌ ์ฐ์ฐ์ ๋จผ์ ์คํ์ํจ๋ค. (๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ง ๋จผ์ ๋ฐ์)
- ๋ฒํฌ ์ฐ์ฐ์ ์ํ์ํจ ํ ์์์ฑ ์ปจํ
์คํธ๋ฅผ ์ด๊ธฐํ์ํจ๋ค. (์ํฐํฐ์๋ ๋๊ธฐํ)