@ControllerAdvice와 @ExceptionHandler를 이용하여 예외처리 하는 것을 연습했다.
커스텀Exception을 처리하는 것은 좀 더 공부해야할 것 같다.
이번 주 페어와 연관관계에 대해 얘기했다.
User정보를 받아와 Article을 생성할 때, User에게도 Article을 추가해줘야하는 이유
=> 아마 DB단에서는 상관이 없을 텐데, Java객체를 사용할 때 DB에서 추가적으로 조회하지 않아도 User가 가진 Article의 정보를 양쪽으로 업데이트 해주는 것이 데이터 정합성이 맞다고 생각함
--------------------------------->공부한 뒤에 포스팅하기
@OneToMany에서 발생할 수 있는 문제
=> User를 조회하면 Article을 다 가져와야하고, Article은 또 Comment를 다 가져와야한다.
근데 fetchType을 lazy로 했을 경우에, 객체가 사용될 때 쿼리가 날라간다.
그럼 User객체에 Article을 List로 만들어서 넣어줄 때, Article을 조회하는 쿼리가 날라갈것이다.
그럼 Article을 가져올 때 Comment를 List로 만들어줘야하니까 매 번 쿼리가 새로 날라갈것임.
이렇게 연관관계에서 쿼리가 불필요하게 많이 날라가는 문제를 N+1 문제라고 함.
==> fetch타입을 join으로 해놓으면, 처음 User를 find할 때, fetchtype이 join으로 되어있는 컬럼들을 한꺼번에 가져와 이런 문제를 해결할 수 있음.
---------------------------->까지 얘기했는데, 검증 안되고 우리가 이해만 한 내용이므로 나중에 따로 공부해서 포스팅해야함
'일기 > TIL' 카테고리의 다른 글
23.05.01 CRUD 고민 많이 해보기 (0) | 2023.05.02 |
---|---|
23.04.20 HttpServlet // JWT // JPA 약간씩 (0) | 2023.04.20 |
23.04.17 // Spring 간단한 게시판 CRUD (0) | 2023.04.18 |
23.04.16 // SpringBoot 입문, 알고리즘(재귀) (0) | 2023.04.17 |
23.04.10 // IntelliJ 디버거 활용 - Exception 조건설정 (0) | 2023.04.16 |