프로젝트/부추 농장(spring boot + mySQL)

프로젝트/부추 농장(spring boot + mySQL)

6. Notification 기능 추가

# 계획 누군가가 회원이 작성한 일기에 좋아요를 누르거나 누군가가 회원을 팔로우하거나 누군가가 회원을 일기 안에서 태그할 때(태그는 "@" 뒤에 아이디를 추가하는 것으로 하자) 해당 회원에게 알림, 즉 Notification이 가는 기능을 추가하고 싶었다. 1. Notification Entity 설정 알림을 DB에 저장되는 하나의 객체로 만들었다. 알림에 필요해보이는 field들을 생각해보았다. @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Entity @EntityListeners(AuditingEntityListener.class) public class Notification extends BaseEntity { @Id @GeneratedVa..

프로젝트/부추 농장(spring boot + mySQL)

5. querydsl 적용 (페이징)

자바 언어로 JPQL을 작성할 수 있게 해주는 오픈소스 프레임워크 querydsl을 프로젝트에 적용시켜 보도록 하겠다. Sorting 관련 내용은 따로 복잡하게 하지 않았고, 기본적인 내용은 다른 포스트에서 설명한 만큼 이번에는 페이징까지 한꺼번에 처리하도록 하겠다. 2023.03.21 - [JAVA/Spring] - [QueryDSL] QueryDSL이란? + 간단한 실습 모든 농장일기를 불러오되, 10개씩 페이징 처리를 할 것이다. 홈 화면에서 보여지는 "팔로우한 사람들의 농장일기 보기" -> 내가 작성한 일기와 팔로우한 사람들의 일기만 보이게 할 것이다. 특정 유저 페이지에서 보여지는 "해당 유저가 작성한 농장일기 보기" -> 유저 상세보기 페이지의 유저가 작성한 일기만 보이게 할 것이다. 특정 유..

프로젝트/부추 농장(spring boot + mySQL)

4. 에러 핸들링

웹 어플리케이션에서 발생할 수 있는 에러의 종류는 무궁무진하다. 서버의 소프트웨어 오류일 수도 있고, 하드의 오류일 수도 있고, 유저의 input 오류일 수도 있고, 네트워크 오류일 수도 있고... 그 모든 예외나 오류들을 직접 처리하기는 힘들지만, 적어도 개발한 어플리케이션 안에서 발생할 수 있는 예외들은 최대한 핸들링해야한다. 실제 개발하는 시간보다 디버깅 하는 시간이 훨씬 길듯, 예외 처리 역시 신중하고 확실하게! 해야한다. 1. Spring Boot에서 Custom Exception 처리의 동작 과정 @ControllerAdvice class+ @ExceptionHandler method 구조로 동작한다. @ControllerAdvice가 붙은 클래스의 method들은 @Controller 클래스..

프로젝트/부추 농장(spring boot + mySQL)

3. 엔티티 간 연관 관계

JPA에서 가장 중요한 개념 중 하나인 연관관계를 프로젝트에 적용시켜 볼 것이다. 부추 농장에서 프로젝트에 사용된 연관 관계들이다. OneToMany - 1명의 User은 여러 개의 FarmLog들을 가지고 있다. ManyToMany - 여러 명의 User가 여러 개의 FarmLog에 좋아요를 누를 수 있다. ManyToMany - 여러 명의 User가 서로를 팔로잉(following) 할 수 있다. 가장 위의 관계부터 하나씩 해나가도록 하겠다! 1. OneToMany (1 : N) : 한 명의 User가 여러 개의 FarmLog들을 가지고 있다. 연관 관계에 필요한 property들만 ERD 으로 표시해보았다. '유저가 작성한 여러 개의 농장 일기가 존재한다'는 연관 관계이다. # Entity 연관 관..

김부추
'프로젝트/부추 농장(spring boot + mySQL)' 카테고리의 글 목록