Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: post 코드 리팩토링 #92

Merged
merged 16 commits into from
Apr 13, 2024
Merged

fix: post 코드 리팩토링 #92

merged 16 commits into from
Apr 13, 2024

Conversation

yumzen
Copy link
Member

@yumzen yumzen commented Mar 29, 2024

#️⃣ 연관된 이슈

#88

📝 작업 내용

  • 페이지네이션 url 수정
  • 예외 처리 수정
  • 페이지네이션 스택언어 N+1 문제 수정
  • 페이지네이션 카테고리 N+1 문제 수정
  • 페이지네이션 class 삭제 및 수정
  • DTO에 Schema 어노테이션 이용해서 설명서 상세하게 다 추가하기
  • 지역 단위 전체 쿼리 수정(지역 전체 검색을 위해 프론트와 상의해서 meetingArea - >meetingCity, meetingTown 로 쪼개어 사용하기로 했습니다)
  • basetimeentity 불필요한 데이터 정리
  • stackName 조인 문제 해결
  • category 조인 문제 해결

💬 리뷰 요구사항(선택)

LAZY로 변경 후 실행 결과,
image
이러한 오류가 발생해서 우선 Hibernate.Initialize(Object proxy)로 강제 초기화를 해서 해결을 해두었는데 코드 리뷰 부탁드립니다! 또한, N+1 문제가 제대로 해결되었는 지도 한번씩 확인 부탁드립니다!!!

merge 전에 테이블 수정하고 merge 하겠습니다~!!

@yumzen yumzen added the fix 기존 작성된 코드 수정 시 label Mar 29, 2024
@yumzen yumzen self-assigned this Mar 29, 2024
@yumzen yumzen changed the title Fixed: post 코드 리팩토링 Fix: post 코드 리팩토링 Mar 29, 2024
@yumzen yumzen changed the title Fix: post 코드 리팩토링 fix: post 코드 리팩토링 Mar 29, 2024
@sycuuui
Copy link
Member

sycuuui commented Apr 1, 2024

왕 너무 수고하셨어용👏🏻🩵

@yumzen yumzen added the refactor 리팩토링 시 label Apr 6, 2024
Copy link
Contributor

@dl-00-e8 dl-00-e8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hibernate Initialize를 활용하신 부분에 대해서 자세히 설명해주실 수 있으실까요?

제가 기억하기로는, @manytoone의 연관관계에서 사용될 경우에는 해당 오류가 발생하지 않고, @onetomany인 엔티티에서 가져올 때 저런 오류가 발생했었던 거 같아서요!

만약 지은님께서 위의 방법을 활용하신 부분이 @onetomany부분일 경우에는 해당 부분을 어떻게 바꿀지 같이 고민해보면 좋을 것 같아요.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 부분에서, main branch와 Conflict이 있는데, @sycuuui @yumzen 두 분의 코드인 것 같아서 확인 부탁드릴게요!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 부분도 Conflct 확인 부탁드릴게요!

@yumzen
Copy link
Member Author

yumzen commented Apr 12, 2024

@dl-00-e8
위 오류가
image
이 코드에서 dto에 post를 넘겨줄때 stackNames, Categories에 대한 객체가 비어 있어서 난 오류 같아서 임의로 일단 Hibernate Initialize를 사용해서 연관객체들을 강제로 로딩해주었습니다. OSIV를 설정했을 때도 해결이 되었는데 리소스 낭비가 심할 수 있다 해서 우선 이렇게 수정해두었습니다. 보통은 getter함수만 써도 연관객체 로딩이 가능하다 했는데 제 코드에서는 오류가 발생해서 다른 방법을 더 찾아보겠습니!

@dl-00-e8
Copy link
Contributor

Getter를 사용해서 연관객체 로딩이 안 되었다는게 결국 OneTany 어노테이션으로 인한 문제인 것 같아요. 만약, 이 부분을 쿼리를 사용한다면 hibernate.initialize를 안 사용하고도 해결하는 방법이 있지 않을까요?
@yumzen

@yumzen
Copy link
Member Author

yumzen commented Apr 12, 2024

@dl-00-e8
그럼 그 부분 쿼리로 수정해보겠습니다!

@yumzen yumzen merged commit 3d74a9d into main Apr 13, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix 기존 작성된 코드 수정 시 refactor 리팩토링 시
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants