프레임워크/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