게시글 기능 설계
package bh.board.article.entity;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.Builder;
import java.time.LocalDateTime;
@Table(name = "article")
@Getter
@Entity
@ToString
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Article {
@Id
private Long articleId;
private Long boardId; // shard key
private String title;
private String content;
private String writer;
private LocalDateTime createdAt;
private LocalDateTime updatedAt;
@Builder
public Article(Long articleId, Long boardId, String title, String content, String writer, LocalDateTime createdAt, LocalDateTime updatedAt) {
this.articleId = articleId;
this.boardId = boardId;
this.title = title;
this.content = content;
this.writer = writer;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
}
public void update(String title, String content) {
this.title = title;
this.content = content;
this.updatedAt = LocalDateTime.now();
}
}Last updated