MallapiApplicationTests 실행 중 Hibernate 관련 DialectFactoryImpl 오류 발생
org.hibernate.service.spi.ServiceException
org.hibernate.HibernateException: DialectFactoryImpl.java:191
📌 원인 분석:
Hibernate가 사용할 데이터베이스 정보를 찾지 못함
application.properties가 src/main/resources에만 존재하고, 테스트 실행 시 Spring Boot가 src/test/resources를 찾지 못했음
1️⃣ Gradle, Java 설정 문제 해결
JAVA_HOME 문제 해결 → JDK 17 설정 정상화
Gradle 프로젝트를 VSCode에서 인식하도록 재설정 (Java: Clean the Java Language Server Workspace)
2️⃣ 테스트 DB 설정 수정 시도
application.properties에 DB 설정 추가
하지만 src/main/resources/application.properties에만 추가해서 테스트 실행 시 적용되지 않음
3️⃣ MariaDB 드라이버 추가 & Gradle 설정 확인
build.gradle에 mariadb-java-client 추가
4️⃣ MariaDB 서비스 실행 확인
net start MariaDB로 DB 실행 확인
하지만 여전히 Hibernate가 테스트 실행 중 DB 설정을 찾지 못해 실패
✅ 문제의 핵심 원인:
테스트 실행 시 src/test/resources/application.properties가 없어서 Spring Boot가 운영용 설정(src/main/resources/application.properties)을 찾으려다가 실패
spring.datasource.username=root → 실제 MariaDB 유저(malldbuser)와 불일치
📌 src/test/resources/application.properties 파일의 내용을 다음과 같이 수정
spring.datasource.url=jdbc:mariadb://localhost:3306/malldb
spring.datasource.username=malldbuser
spring.datasource.password=malldbuser
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.show-sql=true
