My Cookbook104 [goormedu 강의] 스프링부트 블로그 만들기 03 - 05 연관관계의 주인 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다. 연관 관계의 주인이란?FK를 누가 가졌는가? 게시글을 상세조회하면User 정보, Board 정보, Reply 정보를 가져오는데 mybatis 사용 당시 3개 테이블을 조인해서 가져왔었음.ORM에서는 Board 정보 하나만 select 해오면 세 오브젝트 정보를 다 가져옴. Board에서 Reply 오브젝트 정보도 가져오려면Board Reply 객체도 추가하는데하나의 게시글에 여러 개의 답변이 올 수 있으므로 List로 선언해줘야 함.FK는 필요없다.왜? 게시글 하나에 여러 개의 답글이 달릴 수 있는데데이터베이스 1 정규화 원자성 규칙에 의해 replyId에 1,2,3 이런식을 들어갈 수 없기에FK를 생성.. 2024. 8. 8. [goormedu 강의] 스프링부트 블로그 만들기 03 - 03 Reply 테이블 생성 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다. Board Reply : 하나의 게시글에 여러 개의 답변 존재 @ManyToOne@JoinColumn(name="boardId")private Board board; User Reply : 한 명의 사용자가 여러 개의 답변 달기 가능 @ManyToOne@JoinColumn(name="userId")private User user; 2024. 8. 8. [goormedu 강의] 스프링부트 블로그 만들기 03 - 02 Board 테이블 생성 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다. @Lob 대용량 데이터 사용 시에 씀.UserId 값으로 Board와 User 를 조인해서 가져오는데 이 방식은 ORM에서 사용하지 않는다. (FK X)-> entity에 직접 User 객체를 선언하여 씀. 이때 DB는 오브젝트를 저장할 수 없고, 자바는 오브젝트를 저장할 수 있어서 서로 충돌이 난다.그래서 FK 값을 오브젝트에 지정해준다. @JoinColumn(name="userId")private User user; 이렇게만 적으면 연관 관계가 없으므로@ManyToOne : Board가 many, User가 One@JoinColumn(name="userId")private User user; ** .. 2024. 8. 8. [goormedu 강의] 스프링부트 블로그 만들기 03 - 01 User 테이블 생성 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다. 03 데이터베이스 세팅- User 테이블 생성테이블 데이터를 담을 model 생성 @Entity클래스를 테이블화 시키기 위한 어노테이션User 클래스가 Mysql에 자동으로 테이블이 생성이 됌.@IdPK 값으로 지정해주는 어노테이션@GeneratedValue(stategy = GenerationType.IDENTITY)프로젝트에서 연결된 DB의 넘버링 전략을 따라간다.예를 들어 오라클 사용하면 시퀀스 사용, mysql 사용하면 auto increment 사용한다는 의미@CreationTimestamp시간이 자동으로 입력Enum 타입 사용 -> 도메인 사용 가능프로그램 상에서 도메인이란 어떤 범위가 정해졌.. 2024. 8. 8. 이전 1 ··· 10 11 12 13 14 15 16 ··· 26 다음