🌟 공부하게 된 계기 Entity 를 작성할 때마다 컬럼에 관계를 명시해 주어야 할 때 @ManyToOne 과 @ManyToMany 중 어떤 것을 사용해야 할지 고민이 되었는데 QNA 서비스 기능 복습 중에 이와 관련해서 잘 정리가 된 부분이 있어서 차이를 비교해보고자 한다. 🌟 기본 Entity 정의 ➡️ 두 관계의 차이를 확인 할 수 있을 정도만의 간단한 Entity 구성이다. ① SiteUser @Entity public class SiteUser { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(unique = true) private String username; private String pass..
JPA
🌟 문제 상황 (테스트 코드에서만 발생하는 문제임!) 아래와 같은 테스트 코드를 작성하여 확인해보고자 함 Question Entity public class Question { //. //. @OneToMany (mappedBy = "question", cascade = CascadeType.REMOVE) private List answerList; } Answer Entity public class Answer { //. //. @ManyToOne // question_id 를 FK 로 하는 ForeignKey 관계 생성 private Question question; } SpringBootTest @Test void 저장() { Question q = questionRepository.findById..
🌟 DB 상태 1️⃣ Question 테이블 @Getter @Setter @Entity 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; } 2️⃣ Answer 테이블 @Getter @Setter @Entity public class Answer { @Id @GeneratedValue(strategy = GenerationType.ID..
🙋♂️ QNA 서비스 기능 구현 (복습) _ 34강 ~ 53강 1️⃣ Entity ① Entity 생성 - @Getter, @Setter, @Entity 어노테이션 필요 - @Id, @GeneratedValue, @Column 등으로 제약 사항 추가 가능 @Getter @Setter @Entity // 아래 Question 클래스는 엔티티 클래스이다. // 아래 클래스와 1:1로 매칭되는 테이블이 DB에 없다면, 자동으로 생성되어야 한다. public class Question { // Question 엔티티 @Id // primary key @GeneratedValue(strategy = GenerationType.IDENTITY) // auto_increment private Integer id; ..