#3.스프링부트,Spring Data JPA게시판(모델클래스작성및테이블생성)
도메인 모델 객체 생성하기:namespace prefix = o ns =
"urn:schemas-microsoft-com:office:office" />
n Jpa.board.model 패키지를 생성 후 엔티티
클래스를 만들자.
[Board.java]
package
jpa.board.model;
import
java.util.Date;
import
java.util.List;
import
javax.persistence.CascadeType;
import
javax.persistence.Column;
import
javax.persistence.Entity;
import
javax.persistence.FetchType;
import
javax.persistence.GeneratedValue;
import
javax.persistence.GenerationType;
import
javax.persistence.Id;
import
javax.persistence.OneToMany;
import
javax.persistence.PrePersist;
import
javax.persistence.SequenceGenerator;
import
javax.persistence.Temporal;
import
javax.persistence.TemporalType;
import
lombok.Getter;
import
lombok.Setter;
@Entity
@Getter
@Setter
// 시퀀스의 시작값은
1
// 시퀀스의 기본 allocationSize는50, 번호가 50부터 생기므로
1로
@SequenceGenerator(name="BOARD_SEQ_GENERATOR",
sequenceName="BOARD_SEQ",
initialValue=1,
allocationSize=1)
public class
Board {
// MySQL이라면
아래와같이 기술한다.
//
@Id
//
@GeneratedValue
//
@Column(length=10)
// protected Integer id;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,
generator="BOARD_SEQ_GENERATOR")
@Column(length=10)
protected Integer id;
@Column(length=20,
nullable=false)
protected String
name;
@Column(length=20,
nullable=false)
protected String
passwd;
@Column(length=500,
nullable=false)
protected String
title;
@Column(length=4000,
nullable=false)
protected String
content;
//날짜기본형식 time, day, month, year
형태저장
@Column(nullable=false,
columnDefinition = "date default sysdate")
@Temporal(TemporalType.TIMESTAMP)
protected Date regdate = new
Date();
@Column(nullable=false,
columnDefinition = "number(5) default 0")
protected Integer readcount =
0;
// 답변인경우 어느글의 답변인지 상위글번호
// 최상위글인 경우 자신의 글번호 동일하다.
// 리스트보기에서 정렬시 우선적으로 reply로 정렬
@Column(nullable=false,
columnDefinition = "number(5)")
protected Integer reply = 0
;
// 글아래 모든 답변들에 대해 reply_level과
관계없이 1씩 증가
@Column(nullable=false,
columnDefinition = "number(5) default 0")
protected Integer replystep =
0;
// 1차,2차 답글인지 여부
// 하나의 글에 답변이 두개면 그 두답변은
reply_level이 같다.
// 리스트보기에서 reply_level에 따라 들여쓰기를
한다.
@Column(nullable=false,columnDefinition = "number(5) default 0",
length=10)
protected Integer replylevel =
0;
}
n 프로젝트에서 마우스 우측버튼 -> Run As -> Spring Boot
App로 실행 후 오라클쪽에 테이블이 생성되는 것을 확인하자.
댓글 없음:
댓글 쓰기