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