- Problem
- Github Action 연동을 한 후, PR 요청을 시도하였는데 contextLoads()에서 계속해서 오류를 부딪혔다.
Access to DialectResolutionInfo cannot be nullwhen 'hibernate.dialect' not set
- githubactioon org.hibernate.hibernateexception at dialectfactoryimpl.java:100
- Reason
- Github 내에서는 instance를 띄운 뒤, 작성한 코드를 긁어와 test를 작동하기 때문에, 나의 로컬 컴퓨터 환경과 맞지 않다.
- 로컬에는 MariaDB 세팅을 해준 상태였지만, Github 내에서 띄워진 instance의 localhost에는 DB가 존재하지 않기 때문에 FAIL 된다.
- 데이터베이스에 접근하기 위해 Hibernate를 사용하게 되는데 MariaDB를 사용하는 과정에서 오류가 나타났다.
- Try to solve
- Local Memory를 사용하는 H2를 사용했다.
- 외부에서 접속이 가능한 DB를 셋업하는 방법도 있지만, 테스트용이기 때문에 H2를 사용했다.
- 하이버네이트가 데이터베이스와 통신을 하기 위해 사용하는 언어를 Dialect라고 한다.
- 이 경우에는 jpa:database-platform :
org.hibernate.dialect.MariaDB103Dialect
에 해당하는 설정을 추가적으로 맞춰주면 해결이 가능하다.