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

[BE] H2 와 MySQL 의 문법 차이로 인해서 테스트 코드는 통과되지만, 어플리케이션에서는 오류가 발생하는 상황을 해결한다. #757

Closed
nayonsoso opened this issue Oct 1, 2024 · 2 comments · May be fixed by #771

Comments

@nayonsoso
Copy link
Contributor

🔍 설명

  • 5차 데모데이 전날, 페이지네이션에서 넘겨주는 리뷰 뭉탱이에서 '이게 마지막 페이지인가'에 대한 정보를 담기로 급작스럽게 변경되었다. 이를 간단하게 구현할 수 있다고 생각한 산모씨는 열심히 쿼리를 작성했으나, 아루가 EXIST 를 사용해서 쿼리 성능을 개선할 수 있다고 해서 아루의 도움을 받아 쿼리를 작성했다. 테스트코드는 통과했고, 우리는 프로덕션에서 무사히 목록이 보이길 기대했다.
  • 하지만 요런 에러가 발생했다.
java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.Boolean (java.lang.Long and java.lang.Boolean are in module java.base of loader 'bootstrap')
  • 당시에는 H2 와 MySQL 의 문법 불일치때문인 것 같다고 결론을 내렸다.
  • 이 결론이 맞나면, 레포지토리 테스트는 환경을 MySQL 로 변경할 필요가 있다.

🔥 할 일

⏰ 예상 시간

🐴 할 말

@nayonsoso
Copy link
Contributor Author

b08c5e4

관련 커밋

@donghoony
Copy link
Contributor

기존 Native Query를 JPQL로 변환해 해결되었습니다. 추후 Native Query가 필요한 경우 다시 열릴 수 있어요. 😁

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment