2021-nolto
2021-nolto copied to clipboard
refactor: 불필요한 fetch join 제거
- [x] 🧪 테스트 전체를 실행해봤나요?
- [x] 💯 테스트가 잘 통과했나요?
- [x] 🏗️ 빌드는 성공했나요?
- [x] 🧹 안쓰는 코드가 남아있지 않나요?
- [ ] 🎟️ PR에 대한 이슈는 등록됐나요?
- [x] 🏷️ PR 라벨 등록 했나요?
- [x] 🍠 행복한 고구마인가요?
작업 내용
- ~~불필요하게 fetch join하여 영속화되고 있는 엔티티를 제거해주었습니다.~~ => 복구 👻
- 제가 테스트 코드의 쿼리에 의존해 잘못 이해했었는데요 😢 테스트 코드에서 테스트 대상인 메서드에 대한 정확한 쿼리가 나갈 수 있도록 em.flush를 추가해놓겠습니다!
- 간단한 기능이라 따로 이슈는 적지 않았습니다!
- 혹시 잘못된 부분 있다면 말씀해주세요!!
- 참고 : https://pomo0703.tistory.com/214
✔️ Deploy Preview for nolto canceled.
🔨 Explore the source changes: 468e7275a356e6898c42a99bbedde053fff5d75a
🔍 Inspect the deploy log: https://app.netlify.com/sites/nolto/deploys/618d5bd4883f95000830c946
이미 컨트롤러에서 OSIV를 통해 User가 영속화된 채로 들어오고 있고,
해당 부분에서 영속화된 User 는 로그인된 유저로 아는데
Comment나 Feed에서 User는 작성자(Author)로 로그인된 유저랑 다를 수 있어서 fetch join 이 필요하다고 생각되는데 제가 놓친 부분이 있을까요? 🤔
@Gomding
이미 컨트롤러에서 OSIV를 통해 User가 영속화된 채로 들어오고 있고,
해당 부분에서 영속화된 User 는 로그인된 유저로 아는데
Comment나 Feed에서 User는 작성자(Author)로 로그인된 유저랑 다를 수 있어서 fetch join 이 필요하다고 생각되는데 제가 놓친 부분이 있을까요? 🤔
테스트 코드 실행해보고 어? fetch join 쓰나 안쓰나 쿼리가 똑같네? 했는데 알고 보니 영속성 컨텍스트를 안 비워줘서 그런 거 였네요... 뇌절한 부분 빠르게 수정하겠습니다 💩 (하는 김에 테스트 코드에 em.clear()도 넣어서 테스트 할 때 정확히 어떤 쿼리가 나가는 지 확인할 수 있도록 수정하겠습니다1)
제가 조금 늦게봤군요!!! em.flush(), em.clear()를 도입해서 그 순간에 어떤 쿼리가 나가는지 확인하기 좋겠네요~ LGTM~