@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으로 되어있는 컬럼들을 한꺼번에 가져와 이런 문제를 해결할 수 있음.

---------------------------->까지 얘기했는데, 검증 안되고 우리가 이해만 한 내용이므로 나중에 따로 공부해서 포스팅해야함

 

 

+ Recent posts