κ°μ²΄μ ν μ΄λΈ 맀ν
@Entity
- @Entityκ° μ μλμ΄μλ ν΄λμ€λ JPAκ° κ΄λ¦¬νλ€.
- κΈ°λ³Έ μμ±μκ° κΌ μμ΄μΌ νλ€.
- μμ±: name ->JPAμ μ¬μ©ν μν°ν° μ΄λ¦μ μ§μ νλ€, κΈ°λ³Έκ° : ν΄λμ€ μ΄λ¦μ κ·Έλλ‘ μ¬μ©
@Table
- name, catalog, schema λ±λ±. .
νλμ μ»¬λΌ λ§€ν
@Column
λ°μ΄ν°λ² μ΄μ€ 컬λΌλͺ μ μ€μ ν΄μ€ μ μλ€.
unique(μ€λ¬΄μμ μ μ¬μ©νμ§ μλλ€ -> μ λν¬ μ μ½μ‘°κ±΄ μ΄λ¦μ μ€μ ν μ μλ€ λμ @Table(uniqueCons.. μ¬μ©), length λ± μ€μ ν μ μλ€.
@Temporal
λ μ§ νμ 맀ν
νμ§λ§ LocalDate, LocalDateTimeμ μ¬μ©ν λλ μλ΅ κ°λ₯νλ€.
@Enumerated
enum νμ 맀ν
defaultκ° ORDINAL μΈλ° enum μμλ₯Ό λ°μ΄ν°λ² μ΄μ€μ μ μ₯νλ€ ( μ¬μ©X -> μμκ° λ³κ²½λμ΄λ μ΄μ λ°μ΄ν°λ λ³κ²½μ΄ μλμ΄μ λ¬Έμ λ°μ )
EnumType.STRING μ enum μ΄λ¦μ λ°μ΄ν°λ² μ΄μ€μ μ μ₯νλ€ (μ΄κ²μ μ¬μ©)
@Lob
BLOB, CLOB 맀ν
@Transient
νΉμ νλλ₯Ό 컬λΌμ 맀ννμ§ μμ (맀ν 무μ)
λ©λͺ¨λ¦¬μ λ‘μ§μλ§ μ¬μ©νκ³ μΆμλ μ¬μ©νλ€.
κΈ°λ³Έ ν€ λ§€ν
@Id
- μ§μ ν λΉν κ²½μ° @Id
- μλ μμ±μ (@GeneratedValue) μΆκ°νλ€.
- strategy = GenerationType.AUTO - λ°©μΈμ λ°λΌ μλ μ§μ , κΈ°λ³Έκ°
- strategy = GenerationType.IDENTITY - κΈ°λ³Έ ν€ μμ±μ λ°μ΄ν°λ² μ΄μ€μ μμνλ€. (MYSQL)
DBμ insertλ₯Ό ν΄λ΄μΌ idκ°μ μ μ μλ€. κ·Έλμ μμΈμ μΌλ‘ persist ν λ λ°λ‘ 쿼리λ₯Ό λ λ¦°λ€. ( μλλ νΈλμ μ μμ μΏΌλ¦¬κ° λ λΌκ° ) -> id κ° μ μ μμ
- strategy = GenerationType.SEQUENCE - λ°μ΄ν°λ² μ΄μ€ μ€νμ€ μ€λΈμ νΈ μ¬μ© @SequenceGenerator νμ (ORACLE)
- strategy = GenerationType.TABLE - ν€ μμ±μ© ν μ΄λΈ μ¬μ© @TableGenerator νμ (λͺ¨λ DB) -> μ±λ₯μ΄ λ³λ‘...
-> κΆμ₯νλ μλ³μ μ λ΅
- κΈ°λ³Έ ν€ μ μ½ μ‘°κ±΄ : null X, μ μΌ, λ³νλ©΄ μλλ€.
- λ―ΈλκΉμ§ μ΄ μ‘°κ±΄μ λ§μ‘±νλ μμ°ν€λ μ°ΎκΈ° μ΄λ ΅κΈ° λλ¬Έμ λ리ν€(λ체ν€)λ₯Ό μ¬μ©νλ€.
μλ₯Ό λ€μ΄ μ£Όλ―Όλ±λ‘λ²νΈλ κΈ°λ³Έ ν€λ‘ μ μ νμ§ μλ€.
κΆμ₯ : Longν + λμ²΄ν€ + ν€ μμ±μ λ΅ μ¬μ©
λμ λ°λΌ λλ€κ°, UUID λ₯Ό κΆμ₯
μ°κ΄κ΄κ³ 맀ν : @ManyToONe, @JoinColumm λ±
λ°μ΄ν° λ² μ΄μ€ μ€ν€λ§ μλ μμ±
DDLμ μ ν리μΌμ΄μ μ€ν μμ μ μλ μμ±
ν μ΄λΈ μ€μ¬μμ -> κ°μ²΄ μ€μ¬μΌλ‘
λ°μ΄ν° λ² μ΄μ€ λ°©μΈμ νμ©νμ¬ μ μ νκ² DDLμ μμ±νλ€
μ΄λ κ² μμ±λ DDLμ κ°λ°μλ²μμλ§ μ¬μ©νκ³ μ μ νκ² λ€λ¬μ΄μ μ΄μμμ μ¬μ©νμ.
create > κΈ°μ‘΄ λ°μ΄ν° μμ ν λ€μ μμ±
create-drop > κΈ°μ‘΄ λ°μ΄ν° μμ ν λ€μ μμ± μ ν리μΌμ΄μ μ’ λ£μ ν μ΄λΈ μμ
update > λ³κ²½λ λΆλΆλ§ μμ (alter) , μΆκ°νλκ² λ§ κ°λ₯
validate > μν°ν°μ ν μ΄λΈμ΄ μ μ맀νλμλμ§ νμΈν΄μ€λ€.
none > μ¬μ©νμ§ μμ
μ΄μ μ₯λΉμλ μ λ create, create-drop, update μ¬μ©νλ©΄ μλλ€.
κ°λ° μ΄κΈ° -> create or update
ν μ€νΈ μλ² -> update or validate
μ€ν μ΄μ§κ³Ό μ΄μ μλ² -> validate or none
--> λ‘컬PC μΈμλ none or validate λ§ μ¬μ©νκ³ ν μ΄λΈ μμ μ μ§μ νλ€.
'π WEB > JPA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
5. μλ° ORM νμ€ JPA νλ‘κ·Έλλ° - λ€μν μ°κ΄κ΄κ³ 맀ν (0) | 2021.05.14 |
---|---|
4. μλ° ORM νμ€ JPA νλ‘κ·Έλλ° - μ°κ΄κ΄κ³ (0) | 2021.05.14 |
2. μλ° ORM νμ€ JPA νλ‘κ·Έλλ° - λ΄λΆ λμ λ°©μ (0) | 2021.05.13 |
1. μλ° ORM νμ€ JPA νλ‘κ·Έλλ° - κ°λ¨ν μ€μ΅ (0) | 2021.05.13 |
0. μλ° ORM νμ€ JPA νλ‘κ·Έλλ° - κΈ°λ³ΈνΈ (0) | 2021.05.11 |