August 5, 2024
마저 JPA 설정하고 코드 작성하기
내 블로그를 만들거라서 엔티티를 좀 변경해야 한다.
속성 | 설명 |
---|---|
id | 고유 번호 |
title | 포스트 제목 |
content | 포스트 본문 |
createDate | 작성일시 |
속성 | 설명 |
---|---|
id | 고유 번호 |
comment | 포스트 답글(어떤 포스트의 답글인지) |
content | 답글 데이터의 본문 |
createDate | 작성일시 |
@Entity
class Post{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null
@Column(length = 200)
var title: String = ""
protected set
@Column(columnDefinition = "TEXT")
var content: String = ""
protected set
@Column
var createDate: LocalDateTime = LocalDateTime.now()
protected set
constructor()
constructor(title: String, content: String, createDate: LocalDateTime, id: Long) {
this.title = title
this.content = content
this.createDate = createDate
}
}
package org.kchabin.myblog
import jakarta.persistence.*
import java.time.LocalDateTime
@Entity
class Post(
@Column(length = 200)
var title: String,
@Column(columnDefinition = "TEXT")
var content: String,
@Column
var createDate: LocalDateTime,
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long? = null
) {
// JPA를 위한 기본 생성자
protected constructor() : this("", "", LocalDateTime.now())
}
@Transient
: 엔티티의 속성을 테이블의 열로 만들지 않고 클래스의 속성 기능으로만 사용하고자 할 때 사용함.