๋ฐ์ํ
Entity์ ์ํ
๋น์์(Transient
)
Memo memo = new Memo(); // ๋น์์ ์ํ
memo.setId(1L);
memo.setUsername("Robbie");
memo.setContents("๋น์์๊ณผ ์์์ํ);
- new ์ฐ์ฐ์๋ฅผ ํตํด ์ธ์คํด์คํ ๋ Entity ๊ฐ์ฒด
- ์์ง ์์์ฑ ์ปจํ ์คํธ์ ์ ์ฅ๋์ง ์์๊ธฐ ๋๋ฌธ์ JPA์ ๊ด๋ฆฌ๋ฅผ ๋ฐ์ง ์์
์์(Managed
)
em.persist(memo);
- persist(entity) : ๋น์์ Entity๋ฅผ EntityManager๋ฅผ ํตํด ์์์ฑ ์ปจํ ์คํธ์ ์ ์ฅํ์ฌ ๊ด๋ฆฌํ๊ณ ์๋ ์ํ๋ก ๋ง๋ฌ
์ค์์(Detacthed
)
์ค์์ ์ํ๋ ์์์ฑ ์ปจํ ์คํธ์ ์ ์ฅ๋์ด ๊ด๋ฆฌ๋๋ค๊ฐ ๋ถ๋ฆฌ๋ ์ํ๋ฅผ ์๋ฏธ
์์ ์ํ -> ์ค์์ ์ํ
detach()
em.detach(memo);
- ํน์ Entity๋ง ์ค์์ ์ํ๋ก ์ ํ
- ์์์ฑ ์ปจํ ์คํธ์์ ๊ด๋ฆฌ๋๋ค(Managed)๊ฐ ๋ถ๋ฆฌ๋ ์ํ(Detached)๋ก ์ ํ
- ํน์ Entity๋ง ์ค์์ ์ํ๋ก ์ ํ
clear()
em.clear();
- ์์์ฑ ์ปจํ
์คํธ๋ฅผ ์์ ํ ์ด๊ธฐํ
- ์์์ฑ ์ปจํ ์คํธ์ ๋ชจ๋ Entity๋ฅผ ์ค์์ ์ํ๋ก ์ ํ
- ์์์ฑ ์ปจํ ์คํธ ํ์ ์ ์งํ์ง๋ง ๋ด์ฉ์ ๋น์ ์๋ก ๋ง๋ ๊ฒ๊ณผ ๋์ผํ ์ํ
- ๋ฐ๋ผ์ ๊ณ์ํด์ ์์์ฑ ์ปจํ ์คํธ ์ด์ฉ ๊ฐ๋ฅ
- ์์์ฑ ์ปจํ
์คํธ๋ฅผ ์์ ํ ์ด๊ธฐํ
close()
em.close();
- ์์์ฑ ์ปจํ
์คํธ๋ฅผ ์ข
๋ฃ
- ํด๋น ์์์ฑ ์ปจํ ์คํธ๊ฐ ๊ด๋ฆฌํ๋ ์์์ฑ ์ํ์ Entity๋ค์ ๋ชจ๋ ์ค์์ ์ํ๋ก ๋ณ๊ฒฝ๋จ
- ์์์ฑ ์ปจํ ์คํธ๋ฅผ ์ฌ์ฉํ ์ ์์
- ์์์ฑ ์ปจํ
์คํธ๋ฅผ ์ข
๋ฃ
์ค์์ ์ํ -> ์์ ์ํ
merge(entity)
em.merge(memo);
- ์ ๋ฌ๋ฐ์ Entity๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ์์ ์ํ์ Entity๋ฅผ ๋ฐํ
- ๋์
- ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ๋ Entity์ ์๋ณ์ ๊ฐ์ผ๋ก ์์์ฑ ์ปจํ
์คํธ๋ฅผ ์กฐํ
- ํด๋น Entity๊ฐ ์์์ฑ ์ปจํ
์คํธ์ ์๋ค๋ฉด?
- DB์์ ์๋กญ๊ฒ ์กฐํ
- ์กฐํํ Entity๋ฅผ ์์์ฑ ์ปจํ ์คํธ์ ์ ์ฅ
- ์ ๋ฌ๋ฐ์ Entity์ ๊ฐ์ ์ฌ์ฉํ์ฌ ๋ณํฉํจ
- Update SQL์ด ์ํ(์์ )
- ๋ง์ฝ DB์์๋ ์๋ค๋ฉด?
- ์๋กญ๊ฒ ์์ฑํ Entity๋ฅผ ์์์ฑ ์ปจํ ์คํธ์ ์ ์ฅ
- Insert SQL์ด ์ํ(์ ์ฅ)
- ํด๋น Entity๊ฐ ์์์ฑ ์ปจํ
์คํธ์ ์๋ค๋ฉด?
- ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ๋ Entity์ ์๋ณ์ ๊ฐ์ผ๋ก ์์์ฑ ์ปจํ
์คํธ๋ฅผ ์กฐํ
- merge(entity) ๋ฉ์๋๋ ๋น์์, ์ค์์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ ์ ์์ผ๋ฉฐ ์ํฉ์ ๋ฐ๋ผ ์ ์ฅ์ ํ ์๋, ์์ ์ ํ ์๋ ์์
์ญ์ (
Removed
)em.remove(memo);
- ์ญ์ ํ๊ธฐ ์ํด ์กฐํํด์จ ์์ ์ํ์ Entity๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌ๋ฐ์ ์ญ์ ์ํ๋ก ์ ํ
728x90
๋ฐ์ํ
'๋ด์ผ๋ฐฐ์์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์คํ๋ง ์๋ จ 3์ฃผ์ฐจ : Bean (0) | 2023.11.09 |
---|---|
Spring ์ ๋ฌธ 2์ฃผ์ฐจ : JPA - 4 (0) | 2023.11.07 |
Spring ์ ๋ฌธ 2์ฃผ์ฐจ : JPA - 2 (0) | 2023.11.07 |
Spring ์ ๋ฌธ 2์ฃผ์ฐจ : JPA - 1 (0) | 2023.11.07 |
Spring ์ ๋ฌธ 2์ฃผ์ฐจ : IoC์ DI (1) | 2023.11.03 |