-
Notifications
You must be signed in to change notification settings - Fork 3
4. Entity Annotation에 대해 알아보자
chodakk edited this page Mar 3, 2022
·
3 revisions
전체 글을 저장하는 클래스를 간추려(^^) 가져왔다.
@Entity
@NoArgsConstructor
@Table(name = "ENTIRE_POST")
class EntirePostEntity(
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private val postid : Long,
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "userid", nullable = false)
private val userid : UserLoginEntity,
@Column(nullable = false, length = 30)
private var subject : String,
@Column(nullable = false, columnDefinition = "TEXT")
private var content : String,
@Column(nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private var date : Date,
@Column(columnDefinition = "integer default 0")
private var countcomment : Int,
)
Entity : 테이블과 똑같은 객체 만들어주세요. JPA님.
Table : SQL에 테이블 만들 때 이런 속성으로 해주시죠 JPA님?
Id : 아래에 올 변수가 기본키(PK)예요. 저장해주시죠?
GeneratedValue : Auto-Increase 입니다? 우리가 귀찮게 key값 하나씩 안올려도 되죠?
ManyToOne : 아 이거 외래키인데 1:다 관계. 제가 '다'쪽입니당
fetch : 3번 문서 참고
JoinColumn : 기본키가 userid인 Column명을 찾아서 연결해주세용ㅎㅎ. 아 null값 노노~
Column : 아 이거 그냥 일반 Column 선언~ 길이는 30으로 제안해주세요~
columnDefinition : SQL에 적용될 자료형 선언~ 여기 자료형으로 표현이 안돼요~
TimeStamp : 이건 날짜랑 시간 자료형입니다^^
integer default 0 : 이건 자료형이 정수인데 기본값 주려구요 ㅎ