flush()
flush()
์์์ฑ ์ปจํ ์คํธ๋ฅผ ๋น์ฐ์ง ์๊ณ , ์์์ฑ ์ปจํ ์คํธ์ ๋ณ๊ฒฝ๋ด์ฉ์ DB์ ๋๊ธฐํ flush()๋ฅผ ํ๋ค๊ณ 1์ฐจ ์บ์ ๋ด์ฉ์ด ๋ค ์์ด์ง๋ ๊ฑด ์๋๋ค! ๋ณ๊ฒฝ๋ ์ฌํญ๋ค์ด DB์ ๋ฐ์๋๋ ๊ฒ์ด๋ค.
ํธ๋์ญ์ ์ด๋ผ๋ ์์ ๋จ์๊ฐ ์ค์ํ๋ค! -> ์ปค๋ฐ ์ง์ ์๋ง ๋๊ธฐํ ํ๋ฉด ๋จ
JPA๋ ๋ฐ์ดํฐ๋ฅผ ์ผ๊ด์ฑ์๊ฒ ์ ์งํ๊ณ ๋์์ฑ์ ๊ด๋ จํ ๊ฒ์ ํธ๋์ญ์ ์ ์์ํ๋ค.
์์์ฑ ์ปจํ ์คํธ์ ํธ๋์ญ์ ์ฃผ๊ธฐ๊ฐ ๋ง๊ฒ ์ค๊ณํด์ผ ๋ฐ์ดํฐ ๋๊ธฐํ์ ๋ฌธ์ ๊ฐ ์๋ค.
flush()๊ฐ ๋ฐ์ํ ๋ ์ผ์ด๋๋ ์ผ๋ค
๋ณ๊ฒฝ ๊ฐ์ง
์์ ๋ ์ํฐํฐ ์ฐ๊ธฐ ์ง์ฐ SQL ์ ์ฅ์์ ๋ฑ๋ก
์ฐ๊ธฐ ์ง์ฐ SQL ์ ์ฅ์์ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ก (๋ฑ๋ก, ์์ , ์ญ์ ์ฟผ๋ฆฌ)
์์์ฑ ์ปจํ ์คํธ๋ฅผ ํ๋ฌ์ํ๋ ๋ฐฉ๋ฒ
em.flush() - ์ง์ ํธ์ถ (์คํ๋ง๋ถํธ&JPA๊ฐ ์๋ํํด์ฃผ์ด์ ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ ์ฌ์ฉํ์ง๋ ์๋ ๊ฒ ๊ฐ์)
ํธ๋์ญ์ ์ปค๋ฐ - ํ๋ฌ์ ์๋ ํธ์ถ
JPQL ์ฟผ๋ฆฌ ์คํ - ํ๋ฌ์ ์๋ ํธ์ถ =>persist๋ง ํ๊ณ (์์์ฑ ์ปจํ ์คํธ์ ๋ฑ๋ก๋ง ํ๊ณ ) ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ JPQL์ ์์ฑํ๋ฉด ์ค์ ๋ก DB์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ผํ๊ธฐ ๋๋ฌธ์ ์ด ๋๋ ํ๋ฌ์๊ฐ ์๋ ํธ์ถ๋๋ค!!
ํ๋ฌ์ ๋ชจ๋ ์ต์ (๊ฑฐ์ ์ฐ์ง ์์) em.setFlushMode(FlushModeTypee.COMMIT)
FlushModeType.AUTO : ์ปค๋ฐ์ด๋ ์ฟผ๋ฆฌ ์คํํ ๋ ํ๋ฌ์ (๊ธฐ๋ณธ๊ฐ)
FlushModeType.COMMIT : ์ปค๋ฐํ ๋๋ง ํ๋ฌ์ ํ์ฌ persistํ๋ ํ ์ด๋ธ๊ณผ ๋ค๋ฅธ ํ ์ด๋ธ์ ์กฐํํ ๋๋ ๊ตณ์ด ํ๋ฌ์ํ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ ์ปค๋ฐํ ๋๋ง ํ๋ฌ์ํ๋ ๊ฒ์ผ๋ก ์ค์ ๊ฐ๋ฅ(๋น์ถ์ฒ)
Last updated