Open jun108059 opened 2 years ago
์น์ฌ๋ ์๊ฒฌ์ฒ๋ผ spring ์์๋ @Transactional์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก checked exception์ด๋ฉด rollback์ ํ์ง ์๊ณ , unchecked exception์ด๋ฉด rollback์ ์ํํ๋๋ฐ, ~~~ ์ ์ ๋ ๊ฐ์ ์๊ฐ์ ๋๋ค
๊ด๋ จ ์ ๋ณด์ ๋ํด์ ๋ ์ฐพ์๋ดค์์๋๋ฐ Spring์์ ์ต์ด์ @Transactional ์ ๊ตฌํํ ๋ EJB ์คํ์ ์ฐธ๊ณ ํด์ ๋ง๋ค๋ค ๋ณด๋ ๊ธฐ๋ณธ๊ฐ์ ์ ๋ ๊ฒ ์ค์ ํ๋ค๊ณ ์๊ณ ์์ด์ ใ ใ
๋, ์ถ๊ฐ์ ์ผ๋ก CheckedException์ Handlingํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๊ฐ์ธ์ ์ธ ๊ฒฌํด๋ฅผ ๋ง๋ถ์ด์๋ฉด CheckedException์ด ๋ฐ์ํ๋ ๋ถ๋ถ์ด ์๋ ๊ฒฝ์ฐ ์ต๋ํ ๊ตฌ์ฒด์ ์ธ UncheckedException์ ๋ฐ์์ํค๋ ๊ฒ์ด ์ข์ ๋ฐฉํฅ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค
ํน์ ์ ๊ฐ ์๋ชป ์๊ณ ์๋ ์ ๋ณด๊ฐ ์์ผ๋ฉด ํผ๋๋ฐฑ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค๐
๋๋ถ์ด ์ค๋ช ์ ์ํด์ฃผ์ ๊ฒ ๊ฐ์์ ์ ๋ ์ด์ ์ ๊ณต๋ถํ๋ ํธ๋์ญ์ ๋กค๋ฐฑ ๋ด์ฉ ์ฌ๋ ค๋ณด๊ฒ ์ต๋๋ค Unchecked Exception ๋กค๋ฐฑ ์ฐ์ต์ฝ๋
์๋ฐ์ check exception, uncheck excpeption ์๊ทธ๋ ๊ฒ ์ค๊ณ๋๊ฑธ๊น? ์ค๋ผํด ๋ฌธ์
์ค๊ณ ์๋
์ ๊ฐ ์ด๊ฑธ ๊ณต๋ถํ ๊ฐ๋ ์ผ๋ก ์ ๋ฆฌํ๋ฉด
checked exception
์Exception
์ ํฌํจํ๊ณRuntimeException
์ ์์๋ฐ์ง ์์ ํด๋์ค๋ค ์ ๋๋ค.unchecked exception
์RuntimeException
์ ์์ํ ํด๋์ค๋ค์ ๋๋ค.checked exception
์throws
๋ฅผ ์ด์ฉํ์ฌ ๋์ง๊ฒ ์ ์ธํ๋ฉด ๋ฐ๋์ ์ฌ์ฉํ๋ ๊ณณ์์ ์๋ฌด ์กฐ์น๋ ํ์ง์์ผ๋ฉด ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณtry~catch
๋throws
๋ก ๋ ์์์ ๋ฉ์๋์ ๋์ง๊ฑฐ๋ ๋์ค ํ๋๋ฅผ ๋ฌด์กฐ๊ฑด ์ฒ๋ฆฌ ํด์ผํฉ๋๋ค.๋ฐ๋๋ก
unchecked exception
์throws
๋ฅผ ํด๋ ์ปดํ์ผ ์๋ฌ๋ก ์กํ์ง ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ throws๋ฅผ ํด์ฃผ๋๊ฑด ๋ช ์์ ์ผ๋ก~~~ํ ์๋ฌ๋ฅผ ๋์ง๋ค.
๋ผ๋ ์๋ฏธ๋ก ๊ฐ๋ ์ฑ์ ๋์ด๋ ๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์์๊ฒ ๊ฐ์ต๋๋ค.spring ์์๋
@Transactional
์ ๊ธฐ๋ณธ๊ฐ์ผ๋กchecked exception
์ด๋ฉดrollback
์ ํ์ง ์๊ณ ,unchecked exception
์ด๋ฉดrollback
์ ์ํํ๋๋ฐ,์ด๋ ๊ณ ์ ์ ์ธ ๊ฐ๋ ์ด ์๋๋ผ, ์ด๋๊น์ง๋ ๊ธฐ๋ณธ๊ฐ์ด๊ณ ๊ฐ๋ฐ์๊ฐ ์ํ๋ฉด ์ด๋ ธํ ์ด์ ์์ rollbackFor๋, noRollbackFor ๋ฑ์ ํตํด
checked exception
์ rollbackํ๊ฒ ๋ณ๊ฒฝํ๊ฑฐ๋unchecked exception
์ rollbackํ์ง ์๊ฒ ๋ฐ๊ฟ ์ ์์ต๋๋ค.๋ก ์ ๋ฆฌ๊ฐ ๋ฉ๋๋ค.
ํ๋ฆฐ ๋ถ๋ถ์ด ๋ง์ ๊ฒ ๊ฐ์๋ฐ ์ง์ ํด์ฃผ์๋ฉด ํ์์ ๋๋ค. ๐