
Board
package shop.mtcoding.blog.board;
import jakarta.persistence.*;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.CreationTimestamp;
import shop.mtcoding.blog.user.User;
import java.sql.Timestamp;
@NoArgsConstructor
@Data //Entity에는 @Data를 추천하지 않는다. Getter만 거는 걸 추천
@Table(name = "board_tb")
@Entity
public class Board { // Entity 무조건 기본 생성자가 있어야 오류 나지 않음 @NoArgsConstructor
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String title;
private String content;
// @JoinColumn(name = "user_id") // 카멜 표기법 써서 DB에 직접 하고 싶으면 userId
@ManyToOne // user_id 유저명의 id(유저의 pk) 필드로 만들어 줄께
private User user; // 유저 객체를 넣음
// private String username;
@CreationTimestamp // pc -> db (날짜주입)
private Timestamp createdAt;
@Builder
public Board(Integer id, String title, String content, User user, Timestamp createdAt) {
this.id = id;
this.title = title;
this.content = content;
this.user = user;
this.createdAt = createdAt;
}
}
[ 사람 객체 ]
키
몸무게
이름
업적
업적은 태어나면서부터 정해지는게 아니라서, 생성자로는 못 만든다.
생성자란 태어날 때 이런 값을 가지고 태어나는 거니까.
그런데 @Builder는 가능! .~.~ 할 때 안 쓰면 되니까!

엔티티에는 이 @Builder를 다 걸자!!
Share article