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())
}