본문 바로가기

SPRING

[Spring Boot] 테이블 만들기 @Entity /@Id/@Column

테이블을 만들려면 sql문법으로만들어야하는 경우도 있으나

ORM라이브러리를 사용하는 경우 그럴필요 없음 

JPA에선 @Entity를 사용하면 자동생성 됨

 

 

자바  클래스를 만들어주고 

그 위에 @Entity를 적어주면 테이블 생성 완.

 

 

테이블을 만들었으니 속성(컬럼)들도 만들어줘야함 

상품이름 가격 설명 이런식으로. 

 

Integer라는 타입은 정수를 넣을수있는 타입인데 컬럼용 변수에는 int가 아닌 Integer를 쓰도록 함.

int/integer는 20억까지 저장가능 

그 이상까지 저장하고싶으면  long/Long 사용

long/Long은 데이터뒤에 L 혹은 l을 붙여줘야함

 

 

물건들의 고유한 번호를 지정하기 위해 id라는 컬럼도 만들어줌 

이런 id 컬럼에는 무조건 @Id 를 붙여줘야함

sql의  primary key와 같은 기능임 

 

id에 고유번호가 자동으로 1씩 증가될수 있게 해주는 

@GeneratedValue(strategy = GenerationType.IDENTITY) 

sql의 Auto increment 와 같은 기능임 

@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
public Integer id;

 

 

@Entity 변수들에 public을 붙이면 다른 모든 클래스에서 문제없이 사용가능. 

그치만 private로 쓰는경우도 있음. 근데 private는 getter setter가 있어야함

public String title;
public Integer price;

 

컬럼위에 @Column을 붙이면 여러가지 제약사항 설정가능

@Column(length = 200)   컬럼에 입력할 길이를 200자로 제약

@Column(nullable = false)  컬럼이 비었을때 저장을 막아줌 

@Column(unique = true)   유니크한 데이터만 저장가능. 회원아이디나 이메일 저장할때 

@Column(columnDefinition = "TEXT")   String타입은 255자까지 지원되는데 그보다 긴 문자를 저장하고싶으면 mysql경우 TEXT로 지정하면 가능.