앞선 기본구조 포스트에서 본 각 클래스를 예시로 사용하겠습니다.

1. Board 클래스

데이터 모델 클래스 (Entity) 의 예시 구조입니다.
@Entity 어노테이션
@Entity 어노테이션을 통해 클래스를 정의하고, JPA가 해당 클래스를 관리할 수 있게 합니다.
DB에 테이블을 생성, 매핑하는 역할을 합니다.
주의 사항
기본 생성자가 꼭 필요합니다.
final, enum, interface, innter class에서는 사용 불가합니다.
필드(변수)를 final로 선언 불가합니다.
@Table 어노테이션
@Table 어노테이션은 생성, 매핑할 테이블의 이름을 명시해주는 역할을 합니다.
@Table 어노테이션이 없을 경우 클래스 명을 따라서 테이블 명이 생성됩니다.
기본 규칙으로 “클래스명_tb”를 따르도록 하겠습니다.
@NoArgsConstructor 어노테이션
@NoArgsConstructor 어노테이션은 Lombok에서 제공하는 기능으로
기본 생성자를 자동으로 생성해주는 역할입니다.
@Id 어노테이션
특정 속성을 기본키로 설정하는 어노테이션입니다.
@GeneratedValue 어노테이션
해당 어노테이션을 사용하면 기본값을 DB에서 자동 생성할 수 있게 해줍니다.
strategy = GenerationType.
IDENTITY
는 Mysql을 사용할 때 작성해야하는 속성입니다.이외에도 SEQUENCE (ORACLE), TABLE (모든 DB), AUTO (DB에 따라 JPA가 자동으로 선택)
등이 있습니다.
2. Board 컨트롤러

@Controller
해당 클래스가 컨트롤러를 담당하고 있다고 명시해주는 어노테이션 입니다.
3. Board 리파지토리

@Repository
해당 클래스가 리포지토리를 담당하고 있다고 명시해주는 어노테이션입니다.
4. Board 서비스

@Service
해당 클래스가 서비스 기능을 담당하고 있다고 명시해주는 어노테이션입니다.
참고 자료
Share article