오늘은 Part2. 게시판 서비스 강의의 `도메인 설계(2)` 부분을 학습하였다.
오늘 수업에서는 자바 클래스로 도메인을 표현하는 과정을 학습하였다. 저번에 작성한 ERD 다이어그램을 참고하여서 Article과 ArticleComment 도메인을 작성하였다.
Article
public class Article {
private Long id;
private String title; // 제목
private String hashtag; // 해시태그
private String content; // 본문
private LocalDateTime createdAt; // 생성일시
private String createdBy; // 생성자
private LocalDateTime modifiedAt; // 수정일시
private String modifiedBy; // 수정자
}
ArticleComment
public class ArticleComment {
private Long id;
private Article article; // 게시글 ID
private String content; // 본문
private LocalDateTime createdAt; // 생성일시
private String createdBy; // 생성자
private LocalDateTime modifiedAt; // 수정일시
private String modifiedBy; // 수정자
}
테이블명을 단수로 할지 복수로 할지 여러가지 의견이 있다. 이번 프로젝트에서는 테이블명을 단수로 하기로 하였다. 강사님에 따르면 테이블명을 단수로 하였을 때 여러 가지 문제를 피할 수 있는 장점이 더 많다고 한다. 관심있는 사람은 찾아보라고 하셔서 구글 검색을 해보았다. 테이블이 몇 백 개가 등장하는 큰 시스템의 경우에는 테이블명을 복수로 하는 것이 비효율 적이라고 한다.