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 타입을 사용하면 도멘인이 생긴다 -> 범위가 정해진다. 따라서 무관한 값이 들어오는 것을 차단할 수 있다.

예를 들어 성별이라면 남과 여, 방향은 왼쪽 오른쪽.