ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엔티티 복습
    JAVA/스프링 2023. 8. 20. 20:35

    Question 질문 엔티티

    id 질문 고유번호, subject 제목, content 내용, create_date 일시

    package com.mysite.sbb.Entity;
    
    import javax.persistence.*;
    import java.time.LocalDateTime;
    
    @Entity // jpa가 엔티티로 인식
    public class Question {
    @Id //고유번호
    @GeneratedValue(strategy = GenerationType.IDENTITY) // 데이터를 저장할 때 1씩 자동 증가 저장. strategy는 고유번호 생성 옵션. GenerationType.IDENTITY 독립적 시퀀스 생성. 번호 증가할 때 사용.
    private Long id;
    
    @Column(length = 200) // 컬럼의 세부 설정 위해 @Column를 씀. length는 컬럼의 길이, columnDefinition은 컬럼의 속성을 정의.
        private String subject;
    
        @Column(columnDefinition = "TEXT", length = 2048)
        private String content;
    
        private LocalDateTime create_date;
    }

     

     

     

    Answer 답변 엔티티

    id 답변 고유번호, question (어떤 질문의 답변인지 알아야 해서 질문 속성 필요), content 내용, create_date 일시

    package com.mysite.sbb.Entity;
    import javax.persistence.*;
    import java.time.LocalDateTime;
    import java.util.List;
    
    import javax.persistence.CascadeType;
    import javax.persistence.OneToMany;
    
    import lombok.Getter;
    import lombok.Setter;
    @Getter
    @Setter
    @Entity
    public class Answer {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
    
        @Column(length = 200)
        private String subject;
    
        @Column(columnDefinition = "TEXT")
        private String content;
    
        private LocalDateTime createDate;
    
        @OneToMany(mappedBy = "question", cascade = CascadeType.REMOVE) // 질문 하나에는 여러개의 답변이 작성될 수 있음. 질문을 삭제하면 답변도 다 삭제되어야 하므로 모두 함께 삭제하기 위해  CascadeType.REMOVE 사용
        private List<Answer> answerList;
    }

    'JAVA > 스프링' 카테고리의 다른 글

    템플릿엔진 오류  (0) 2023.08.24
    리포지터리 데이터 삭제하기 부분 개수 오류  (2) 2023.08.23
    Controller 복습  (0) 2023.08.20
    Get과 Post의 차이  (0) 2023.08.15
    왜 안돼  (0) 2023.07.18
Designed by Tistory.