λ°μν
JPA (Java Persistence API)
JAVA κ°μ²΄μ κ΄κ³ν DB μ¬μ΄λ₯Ό 맀ννλ ORM κΈ°μ νμ€
μΈν°νμ΄μ€ (= κΈ°μ νμ€) μ΄λ―λ‘ μ€μ ꡬν체λ Hibernate λ±
μ₯μ
- νΉμ λ°μ΄ν°λ² μ΄μ€μ μ’
μλμ§ μμ
- λ°μ΄ν°λ² μ΄μ€λ§λ€ μΏΌλ¦¬λ¬Έμ΄ μ‘°κΈμ© λ€λ₯΄κΈ° λλ¬Έμ λ°μ΄ν°λ² μ΄μ€ λ³κ²½μ μ΄λ €μμ΄ λ§μ§λ§, JPAλ μΆμνν λ°μ΄ν° μ κ·Ό κ³μΈ΅μ μ 곡νλ―λ‘ μ€μ νμΌμ μ¬μ© λ°μ΄ν°λ² μ΄μ€λ§ μ§μ νλ©΄ λ¨
- κ°μ²΄ μ§ν₯μ νλ‘κ·Έλλ° λ° μμ°μ± ν₯μ
- κ°λ°μκ° μ§μ SQLμ μμ±νλ λ°μ΄ν°λ² μ΄μ€ μ€κ³ μ€μ¬μμ JAVA κ°μ²΄μ μ§μ€νλλ‘ μ§μ
- ν μ΄λΈ μ»¬λΌ μμ μ 맀νλ ν΄λμ€λ§μ λ³κ²½νλ©΄ μ μ©λ¨
λ¨μ
- 볡μ‘ν 쿼리 μ²λ¦¬ λΆκ°
- μλμΌλ‘ μμ±λλ μΏΌλ¦¬λ‘ μΈν΄ κ°λ°μκ° μλνμ§ μμ μ±λ₯ μ ν
- λ°©λν JPA κΈ°μ νμ΅μ νμν μκ°κ³Ό λ Έλ ₯
JPA λμ λ°©μ
Entity
ν
μ΄ν°λ² μ΄μ€μ ν
μ΄λΈμ λμνλ ν΄λμ€
@Entity
κ° λΆμ ν΄λμ€λ JPAμμ κ΄λ¦¬
Entity Manager Factory
μν°ν° 맀λμ μΈγ΄μ€ν΄μ€λ₯Ό κ΄λ¦¬νλ 주체
- μ€ν μ ν κ°λ§ λ§λ€μ΄μ§λ©° μμ²μ΄ μ€λ©΄ μν°ν° 맀λμ μμ±
Entity Manager
μμμ± μ»¨ν
μ€νΈμ μ κ·Όνμ¬ μν°ν°μ λν λ°μ΄ν°λ² μ΄μ€ μμ
μ μ 곡
Persistence Context
π κ°μ₯ μ€μ
- μν°ν°λ₯Ό μꡬ μ μ₯νλ νκ²½μΌλ‘ μν°ν° 맀λμ λ₯Ό ν΅ν΄ μμμ± μ»¨ν μ€νΈμ μ κ·Ό
μν°ν° μλͺ μ£ΌκΈ°
- λΉμμ(new) : new ν€μλλ₯Ό ν΅ν΄ μμ±λ μνλ‘ μμμ± μ»¨ν μ€νΈμ κ΄λ ¨μ΄ μλ μν
- μμ(managed)
- μν°ν°κ° μμ‘μ 컨ν μ€νΈμ μ μ₯λ μνλ‘ μμμ± μ»¨ν μ€νΈμ μν΄ κ΄λ¦¬λλ μν
- μμ μνμμ λ°μ΄ν°λ² μ΄μ€μ μ μ₯λμ§ μμΌλ©°, νΈλμμ μ»€λ° μμ μ λ°μ΄ν°λ² μ΄μ€μ λ°μ
- μ€μμ μν(detacted) : μμμ± μ»¨ν μ€νΈμ μν°ν°κ° μ μ₯λμλ€κ° λΆλ¦¬λ μν
- μμ μν(removed) : μμμ± μ»¨ν μ€νΈμ λ°μ΄ν°λ² μ΄μ€μμ μμ λ μν
μμμ± μ»¨ν μ€νΈ μ¬μ© μ₯μ
β
μ μ¬μ©?? → μ ν리μΌμ΄μ
κ³Ό λ°μ΄ν°λ² μ΄μ€ μ¬μ΄μ μμμ± μ»¨ν
μ€νΈλΌλ μ€κ° κ³μΈ΅μ λ§λ€μκΈ° λλ¬Έ, μ΄λ κ² μ€κ° κ³μΈ΅μ λ§λ€λ©΄ λ²νΌλ§, μΊμ± λ±μ ν μ μλ€λ μ₯μ μ‘΄μ¬
1μ°¨ μΊμ
Map<KEY,VALUE>
λ‘ μ μ₯λ¨entityManager.find()
μ 1μ°¨ μΊμ μ‘°ν- μ‘΄μ¬ μ, ν΄λΉ μν°ν° λ°ν
- μμΌλ©΄, λ°μ΄ν°λ² μ΄μ€μμ μ‘°ν ν 1μ°¨ μΊμμ μ μ₯ λ° λ°ν
λμΌμ± 보μ₯
- νλμ νΈλμμ
μμ κ°μ ν€κ°μΌλ‘ μμμ± μ»¨ν
μ€νΈμ μ μ₯λ μν°ν° μ‘°ν μ κ°μ μν°ν° μ‘°νλ₯Ό 보μ₯
→1μ°¨ μΊμμ μ μ₯λ μν°ν°λ₯Ό μ‘°ννκΈ° λλ¬Έμ κ°λ₯
728x90
λ°μν
'μ€νλ§ > μΌνλͺ° νλ‘μ νΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νμκ°μ κΈ°λ₯ ꡬν (0) | 2022.11.22 |
---|---|
λΉλ ν¨ν΄ (0) | 2022.11.21 |
μ€νλ§ μν리ν°λ₯Ό μ΄μ©ν λ‘κ·ΈμΈ/λ‘κ·Έμμ (0) | 2022.11.21 |
Thymeleaf - κ³΅ν΅ λ μ΄μμ (0) | 2022.11.21 |
νμ μ€κ³ (0) | 2022.11.21 |