sns프로젝트를 진행하면서 해당 Post가 지워지기 되면 함께 관계되어있던 댓글과 좋아요의 상태를 어떻게 해야하는가? 라는 상황이 생겼다. 이를 해결하기 위해서 영속성 전이라는 주제를 학습하게 되었다. ✅ CASCADE 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶을 때 ex) 부모 엔티티 저장 시 자식 엔티티 저장 영속성 전이는 연관 관계를 매핑하는 것과 아무 관련이 없음 엔티티를 영속화할 때 연관된 엔티티도 함께 영속화 하는 편리함만을 제공할 뿐 Cascade 종류 CascadeType.ALL 모두 적용 CascadeType.PERSIST 영속 CascadeType.MERGE 병합 CascadeType.REMOVE 삭제 CascadeType.REFRESH REFRES..
sns만들기 프로젝트 3일차 마이피드 controller 테스트 코드를 작성하였다. 요구사항은 다음과 같다. 요구사항 - 마이피드 조회 성공 - 마이피드 조회 실패(1) - 로그인 하지 않은 경우 코드 PostControllerTest 이전의 좋아요 테스트와 다른 사항은 없으며 mock 라이브러리를 사용하여 테스트를 진행하였다. @Test @DisplayName("마이피드 조회 성공") @WithMockUser //인증된 상태 void myPeed_success() throws Exception { String url = "/api/v1/posts/my"; //데이터 만들기 PostGetResponse postGetResponse = PostGetResponse.builder() .id(1L) .titl..
sns만들기 프로젝트 3일차 마이피드 기능을 구현하였다. 요구사항은 다음과 같다. 요구사항 - 마이피드 - 내가 작성한 글만 보이는 기능 - 제목, 글쓴이, 내용, 작성날짜 포함 - 목록 기능은 페이징 기능이 포함된다. (Pageable 사용) - 한 페이지당 20개, 총 페이지 개수 포함, 작성날짜 기준으로 sort - 마이피드 조회 GET /posts/myJson방식으로 리턴 - response 형태: { "resultCode": "SUCCESS", "result":{ "content":[ { "id": 4, "title": "test", "body": "body", "userName": "test", "createdAt": "2022-12-16T16:50:37.515952" } ], "pageabl..

✅요구사항 좋아요 기능에 Soft Delete를 적용하여 삭제될 시 deleted_at에 삭제된 시간을 기록한다. ✅코드 🔹좋아요 기능 Like @Entity @Getter @Builder @AllArgsConstructor @NoArgsConstructor @Table(name = "likes") @SQLDelete(sql = "UPDATE likes SET deleted_at = now() WHERE id = ?") public class Like extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @ManyToOne @JoinColumn(name = "post_id") priva..