본문 바로가기
웹개발

quenswer(프로젝트)-entity설계

by nyeongha 2023. 12. 29.

멤버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