study/Spring boot
@Entity로 테이블 만들기
올스왑
2021. 3. 23. 19:38
먼저 DB의 테이블로 만들 ORM 클래스를 만든다. 클래스에 선언부에 @Entity를 붙인다. 그러면 해당 클래스가 MySQL에 테이블로 생성된다. ORM.
필드마다 다양한 어노테이션을 붙여 속성을 부여한다.
@Id -> PrimaryKey가 된다.
@GeneratedValue(strategy=GenerationType.IDENTITY)
-> 프로젝트와 연결된 DB의 넘버링 전략을(IDENTITY) 따라간다. MySQL의 경우 auto_increment를 사용한다.
@Column(nullable = false, length = 10)
-> null을 허용하지 않고, 길이는 10으로 제한한다.
@CreationTimestamp
-> 시간을 자동으로 입력한다.
@ColumnDefault("'seoul'")
-> 해당 값의 디폴트값은 'seoul'다. 디폴트값 작성시 문자열로 넣기 위해 " 안에 '을 사용한다.(쌍따옴표 안에 홑만든다.)
만약 필드(컬럼)의 값이 제한된 경우에는 Enum 타입을 사용하는 것이 안전하다.
Enum 타입을 사용하면 도멘인이 생긴다 -> 범위가 정해진다. 따라서 무관한 값이 들어오는 것을 차단할 수 있다.
예를 들어 성별이라면 남과 여, 방향은 왼쪽 오른쪽.