프레임워크/Spring, Spring Boot
[메타코딩] 스프링부트 강좌 20강(블로그 프로젝트) - Board테이블 생성
고용인
2022. 7. 26. 19:00
@Entity
public class Board {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment
private int id;
@Column(nullable = false, length = 100)
private String title;
@Lob // 대용량 데이터
private String content; // 섬머노트 라이브러리 <html>태그가 섞여서 디자인이 됨.
@ColumnDefault("0")
private int count; // 조회수
@ManyToOne // Many = Board, User = One
@JoinColumn(name = "userId")
private User user; //DB는 오브젝트를 저장할 수 없다. FK, 자바는 오브젝트를 저장할 수 있다.
@CreationTimestamp
private Timestamp createDate;
}
Board 테이블을 생성합니다.
대용량 데이터에 대해서는 Lob 어노테이션을 선언합니다.
count에서 default값은 int 값이기에 Single quotation은 붙이지 않습니다.
JAVA에서는 ORM방식에 따라 객체를 불러와 Foreign Key를 자동적으로 연결 할 수 있습니다.
이때 JoinColumn을 선언하여 해당 Column의 이름을 userId로 지칭합니다.
또한 ManyToOne 어노테이션을 통해 여러개의 Board에 대해 하나의 사용자만 접근 할 수 있음을 정해줍니다.
강의 주소 : https://youtu.be/MJSMvETSE7E