μμμ± μ»¨ν μ€νΈ
- μν°ν°λ₯Ό μꡬ μ μ₯νλ νκ²½μ μλ―Ένλ€.
- EntityManager APIλ₯Ό ν΅ν΄ μμμ± μ»¨ν μ€νΈμ μ κ·Όνμ¬ μν°ν° μΈμ€ν΄μ€λ₯Ό μμ±, μ‘°ν, μμ ν μ μλ€.
μν°ν°μ μλͺ μ£ΌκΈ°
λΉμμ
- μμμ± μ»¨ν μ€νΈμ μ ν κ΄κ³κ° μλ μλ‘μ΄ μνλ₯Ό μλ―Ένλ€.
- newλ‘ κ°μ²΄λ₯Ό μμ±νμ λ, μ΄ κ°μ²΄λ λΉμμ μνλΌκ³ λ§ν μ μλ€.
Member member = new Member();
member.setId("member1");
member.setUsername("νμ1");
μμ
- μμμ± μ»¨ν μ€νΈμ μν΄ κ΄λ¦¬λλ μνλ₯Ό μλ―Ένλ€.
- em.persistλ‘ κ°μ²΄λ₯Ό μμμ± μ»¨ν μ€νΈμ μ μ₯ν μ μλ€.(μμν)
* μ΄ μμ μ κ°μ²΄λ₯Ό μμμ± μ»¨ν μ€νΈμ μ μ₯νλ κ²μ΄μ§ DBμ μ μ₯νλ 건 μλλ€! DBμ μ μ₯μ νΈλμμ μ 컀λ°νλ μμ μ λ°μνλ€.
em.persist(member);
μ€μμ
μμμ± μ»¨ν μ€νΈμ μ μ₯λμλ€κ° λΆλ¦¬λ μνλ₯Ό μλ―Ένλ€.
em.detach(member);
μμ
μμμ± μ»¨ν μ€νΈμμ κ°μ²΄λ₯Ό μμ ν μνλ₯Ό μλ―Ένλ€.
em.remove(member);
μμμ± μ»¨ν μ€νΈμ μ₯μ
1. 1μ°¨ μΊμ
μν°ν°λ₯Ό μ‘°νν λ μ°μ μ μΌλ‘ μμμ± μ»¨ν μ€νΈμ 1μ°¨ μΊμμμ μ‘°νν΄λ³Έ ν, μμΌλ©΄ DBλ₯Ό μ‘°ννλ€. μΊμμ μλ λ°μ΄ν°λ₯Ό μ°Ύλ κ²½μ° λΉ λ₯΄κ² μ‘°νν μ μλ€.
2. λμΌμ± 보μ₯
λμΌν νΈλμμ μμ μ‘°νν μν°ν°λ κ°μμ 보μ₯νλ€.
3. μ°κΈ° μ§μ°
νΈλμμ μ 컀λ°νκΈ° μ κΉμ§ INSERT SQLμ λͺ¨μλλ€. νΈλμμ μ΄ μ»€λ°λλ μκ° λ°μ΄ν°λ² μ΄μ€μ 쿼리λ₯Ό 보λΈλ€. λ°λΌμ DB 컀λ₯μ μκ°μ μ€μΌ μ μκ³ , ν νΈλμμ μ΄ ν μ΄λΈμ μ κ·Όνλ μκ° λν μ€μΌ μ μλ€.
4. Dirty Checking(λ³κ²½ κ°μ§)
μμμ± μ»¨ν μ€νΈλ 1μ°¨ μΊμκ° λ€μ΄μμ λμ κ°μ μ€λ μ·μ μ μ₯ν΄λλ€. νΈλμμ μ 컀λ°νλ μμ μμ μμ μν°ν°κ° μ€λ μ·κ³Ό λ€λ₯Έ κ°μ κ°μ§λ€λ©΄, λ³κ²½λ κ°μΌλ‘ μμμ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ λ°μ΄νΈνλ€.
5. μ§μ°λ‘λ©
'Spring π±' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Dispatcher Servletμ΄λ? λμ λ°©μκ³Ό μ₯μ (0) | 2023.09.25 |
---|---|
[Spring JPA] Entityμ @Setterλ₯Ό μ§μν΄μΌ νλ μ΄μ (0) | 2023.07.27 |
[Spring] μ±κΈν€ 컨ν μ΄λ (0) | 2023.07.19 |
λΉλ ν¨ν΄(Builder Pattern) (0) | 2023.07.17 |
[Spring] μμ‘΄μ± μ£Όμ (DI)μ΄λ? (0) | 2023.07.13 |