모델, 도메인 모델이라고 부르기도 함
sbb-mission 기준으로 설명

import java.time.LocalDateTime;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Entity //엔티티로 만들기 위해 @Entity 애너테이션 적용
public class Question {
@Id //기본키로 지정
@GeneratedValue(strategy = GenerationType.IDENTITY) //데이터를 저장할 때 1씩 자동 증가
private Integer id;
//컬럼의 세부 설정
@Column(length = 200) //length는 컬럼의 길이 설정
private String subject;
@Column(columnDefinition = "TEXT") //컬럼의 속성을 정의(TEXT=글자수를 제한할 수 없는 경우)
private String content;
private LocalDateTime createDate;
}
@GeneratedValue(strategy = GenerationType.IDENTITY)

import jakarta.persistence.ManyToOne;
//생략
@ManyToOne
private Question question; //답변 엔티티에서 질문 엔티티를 참조하기 위함
답변 객체를 통해 질문 객체의 제목을 얻으려면 answer.getQuestion().getSubject()처럼 접근
이렇게 사용하려면 엔티티가 연결된 속성이라는 것을 명시적으로 표시해야 함.
답변 N : 질문 1 = ManyToOne = N:1
Question(질문) = 부모
Answer(답변) = 자식
-> 이렇게 되면 질문 엔티티에도 추가 필요
//생략
@OneToMany(mappedBy = "question", cascade = CascadeType.REMOVE) //mappedBy는 참조 엔티티의 속성명
//cascade=질문을 삭제하면 그에 달린 답변들도 모두 함께 삭제
private List<Answer> answersList; //Answer 엔티티 객체로 구성된 answerList를 속성으로 추가