Back-End/Spring-Boot

Spring Boot 간단 예제로 시작하기 5 (domain model)

jyp-on 2022. 3. 13. 15:13

예제를 본격적으로 시작해 보려한다. 

이름, 나이, 를 입력해서 화면에 출력하고 각각 서비스로직을 간단하게 다뤄볼 것이다. 

 먼저 JPA를 이용하여 Entity를 생성해주겠다.

폴더 위치

package com.example.demo.domains;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;

@Entity
@Getter
@Setter
public class Member {

    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "member_id")
    private Long id;

    @Column(unique = true)
    private String name;

    private short age;



}

Member라는 객체를 생성했다.

@Entity 어노테이션을 붙여야 DB에 테이블로서 정의 할 수 있다.

@Getter @Setter는 Lombok에서 제공하는 어노테이션으로 귀찮은 Getter와 @Setter를 자동으로 생성해준다.

(단 Setter는 큰 규모의 사이트를 운영할 때 지양해야할 어노테이션이다.

무분별한 변경이 될 수 있는 Setter는 꼭 필요한 경우에만 적용해야 바람직하나 간단한 예제이므로 패스)

 

어노테이션 설명

@Id : 테이블상의 Primary Key와 같은 의미이다. member 1명의 고유 식별값이라 할 수 있다.

@GeneratedValue : @Id를 걸어둔 pk컬럼의 값을 자동으로 증가 시켜주는 어노테이션이다.

GenerationType.IDENTITY로 지정해 auto increment컬럼인 것을 EntityManager에게 알려준다.

@Column : name으로 db안에있는 컬럼명을 따로 적용가능 하고 unique로 unique 제약조건을 걸 수 있다. (생략가능)

length, nullable 등등 여러가지 Column 속성이 있다.