π μλλ
JPA Entity class
λ‘user
λΌλ ν μ΄λΈκ³Ό μ°κ²°λμ΄ μλ μ½λμ΄λ€.
@Getter
@Entity
@NoArgsConstructor
@Table(name = "users")
public class User {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
}
Lombokμ annotation
ν΄λΉ ν΄λμ€μ λͺ¨λ νλμ λν getter λ©μλλ₯Ό μλμΌλ‘ μμ±νλ€.
μλ₯Ό λ€μ΄, getId()
λ©μλλ₯Ό μλμΌλ‘ μμ±νλ€.
JPAμμ μ΄ ν΄λμ€λ μν°ν°μμ λνλ΄λ annotation
@Entity
κ° μ μ©λ ν΄λμ€λ λ°μ΄ν°λ² μ΄μ€μ ν
μ΄λΈκ³Ό λ§€νλλ€.
Lombokμ annotation
μΌλ‘, μΈμκ° μλ κΈ°λ³Έ μμ±μλ₯Ό μλμΌλ‘ μμ±νλ€.
JPAμμ μν°ν° ν΄λμ€λ λ°λμ κΈ°λ³Έ μμ±μκ° μμ΄μΌ νλ―λ‘, μ΄ μ΄λ Έν μ΄μ μ μ¬μ©ν΄ μμ±μλ₯Ό μΆκ°νλ μν μ νλ€.
ν΄λΉ μν°ν° ν΄λμ€κ° λ§€νλ ν μ΄λΈμ μ΄λ¦μ μ§μ νλ€.
μ΄ κ²½μ° users
λΌλ ν
μ΄λΈκ³Ό μ°κ²°λλ€.
λ§μ½ @Table
μ΄ μμΌλ©΄, κΈ°λ³Έμ μΌλ‘ ν΄λμ€ μ΄λ¦(μ¬κΈ°μλ User
)μ΄ ν
μ΄λΈ μ΄λ¦μΌλ‘ μ¬μ©λλ€.
@Id
λ μ΄ νλκ° Primary Key
μμ λνλΈλ€.
@GeneratedValue(strategy = GenerationType.IDENTITY)
λ ID κ°μ μλμΌλ‘ μμ±νκ² νλ μ€μ μ΄λ€.
GenerationType.IDENTITY
λ λ°μ΄ν°λ² μ΄μ€μμ μλ μ¦κ°νλ νλλ‘ μ€μ νλ λ°©μμ΄λ€.
User
μν°ν°μμ ID νλμ΄λ€.
μ΄ κ°μ λ°μ΄ν°λ² μ΄μ€μμ μλμΌλ‘ μμ±λλ©°, Long
νμ
μΌλ‘ μ€μ λμ΄ μλ€.