멤버Entity이다.
package com.example.quenswer.member;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
@Entity
@Setter
@Getter
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(unique = true)
private String userId;
private String password;
@Column(unique = true)
private String email;
}
질문Entity이다.
답변entity와 일대다관계를 가진다.(질문당 여러개의 답변이 달릴 수 있기 때문이다.)
멤버entity와 다대일관계를 가진다.(멤버는 여러개의 질문을 할수있기 때문이다.)
package com.example.quenswer.question;
import com.example.quenswer.answer.Answer;
import com.example.quenswer.member.Member;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import java.util.List;
@Entity
@Getter
@Setter
public class Question {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(length = 200)
private String subject;
@Column(columnDefinition = "TEXT")
private String content;
private LocalDateTime createDate;
@OneToMany(mappedBy = "question",cascade = CascadeType.REMOVE)
private List<Answer> answerList;
@ManyToOne
private Member author;
}
답변 Entity이다.
질문Entity와 다대일 관계를 가진다.(답변여러개가 질문하나에 달리기 때문.)
멤버Entity와 다대일 관계를 가진다.(멤버가 여러개의 답변을 달수있기떄문에 답변 여러개는 한사람과 연결됨.)
package com.example.quenswer.answer;
import com.example.quenswer.member.Member;
import com.example.quenswer.question.Question;
import jakarta.persistence.*;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
@Entity
@Getter
@Setter
public class Answer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(columnDefinition ="Text")
private String content;
private LocalDateTime createDate;
@ManyToOne
private Question question;
@ManyToOne
private Member author;
}
'웹개발' 카테고리의 다른 글
quenswer(프로젝트)-QuestionList (0) | 2024.01.08 |
---|---|
quenswer(프로젝트)-Junit Test(Answer) (0) | 2023.12.29 |
quenswer(프로젝트)-Junit Test(Question) (0) | 2023.12.29 |
자바 서블릿 (1) | 2023.12.26 |
웹 크롤링 (0) | 2023.12.22 |