빌더 클래스를 별도로 생성하지 않아도 빌더 패턴이 적용된다. 빌더 패턴을 사용하기 위해서는 반드시 생성자가 필요하다. 내가 처음에 설계했던 엔티티는 다음과 같다. 진짜 아무 생각 없이 @AllArgsConstructor, @NoArgsConstructor 그리고 @Builder 애너테이션을 사용했다. 그 결과 바로 피드백이 들어오게 되었다. @Entity @Getter @AllArgsConstructor @NoArgsConstructor @Builder public class Comment { @Id @Column(name = "comment_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @NotEmpty private..
문제 발생 @ManyToOne 그리고 @OneToMany로 양방향 연관관계를 맺으면 NullPointerException이 발생하였다. Board(게시물)와 View(조회수, 좋아요) Entity 간의 연관관계를 맺었다. Board Entity @Entity @Getter @Builder @AllArgsConstructor @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Board { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "board_id") private Long id; private String title; // 제목 private String conte..
사건의 발달 게시판에 글을 작성하였을 때, 등록된 시간이 Timestamp 값을 사용하기 때문에 다음과 같이 출력되었습니다. MySQL에서 등록일(created_date) 필드를 TimeStamp 타입을 사용하였고, 자바에서도 TimeStamp 타입을 사용하여 값을 받았습니다. MySQL Board Class 게시판 글 조회 문제 해결 저는 "2023년 11월 04일 22시 08분"으로 출력을 원했기에 다음과 같이 코드를 수정하였습니다. Board Class TimeStamp -> String 타입으로 포맷팅을 하기 위해 SimpleDateFormat 클래스를 사용하였습니다. 또한 생성자로 필드 값을 먼저 설정한 후, 추가적으로 포맷팅 된 값을 저장해야 하기 때문에 Setter가 필요하게 된 상황이 되었..