tevelop RSS 태그 관리 글쓰기 방명록
2022-12-22 23:06:29

승튜의 코멘트들

 

실무에서는 fk를 쓰지 않아

테이블끼리 연결을 시키면 변경할때 문제가 생겨

 

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
private User user;  // -> 객체들간의 연관관계를 맺겠다.  Post <-> User FK로 엮인 관계입니다.

@Column(name="user_id") //  개발자가 FK라는 것을 알고 있음 JPA는 모르고
private String userId;

 

게시글 - 댓글

댓글 입장에서 게시글 꼭 있어야함

게시글 입장에서는 댓글 없어도 됨→그럼 무적권 Comment 안에 Post / Post 안에 Comemnt 없어도됨

@ManyToOne → 반대쪽에 OneToMany 안만들어도됨

하지만 @OneToMany 쓴다 → 반대쪽에 @ManyToOne꼭 있어야됨

그럼 게시글에서 댓글은 어케 찾아오냐?

→ CommentRepository만들어서 List<Comment> findAllByPostId(Long postId);

→ 이거랑 post.getComments()랑 똑같애

게다가 댓글 만개달렸어 → 그 게시글 불러오면 댓글 만개 다 가져옴 → 하지만 CommentRepository에서 불러온다? 그럼 페이징도 할수 있어

 

코멘트 작성할때 post는 무적권 필요해.

get해서 add 하면 안돼 → 불변객체랑 상관 있음 → 포스트가 갖고있는 값을 외부에서 내가 마음대로 바꿔버린거임 → setter를 쓴것과 다름이 없다.

 

연관관계 편의 메서드 → 연관관계가 있을때에만 발생할거다

 

연관관계를 맺으면 당연히 상대에게 나의 존재를 알려주어야한다.

 

패키지를 나눈것은 연관관계를 갖지 않겠다는 의미이다. 나눌거면 확실하게 의도를 만들도록

'내일배움캠프 > TIL' 카테고리의 다른 글

2023/1/1 포스트맨에 토큰값 세팅하기  (0) 2023.01.03
2022.12.28  (1) 2022.12.28
2022.12.19  (0) 2022.12.19
2022.12.16  (0) 2022.12.16
2022.12.15  (0) 2022.12.15
tevelop. Designed by 코딩재개발.