Over the limit
JPA metamodel must not be empty! 본문
JPA는 Entity들의 생성 및 수정 LocalDateTime을 자동으로 관리해주는 Auditing 기능이 있다.
해당 기능 사용을 위해 @EnableJpaAudiring을 추가했었는데 @SpringBootApplication 클래스에 등록에 놓았기에 에러가 생기게 되었다.
package com.web.community.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@EnableJpaAuditing
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Spring 컨테이너를 요구하는 테스트는 가장 기본이 되는 XXXAplication 클래스가 항상 로드되는데, @EnableJpaAuditing이 해당 클래스에 등록되어 있어서 모든 테스트들이 항상 jpa 관련 Bean을 필요로 하는 상태였다.
해결책
JpaAuditingConfiguration은 따로 분리하여 파일을 생성한다.
package com.web.community.springboot;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@Configuration
@EnableJpaAuditing
public class JpaAuditingConfiguration {
}
@Configuration을 분리하자.
참고 Spring Boot 테스트 에러 : JPA metamodel must not be empty! | Chasing Yesterday (xlffm3.github.io)
'Web' 카테고리의 다른 글
OAuth2.0 RFC의 Refresh Token 동작원리 (0) | 2022.07.16 |
---|---|
Cookie, Session, Token 그리고 JWT (0) | 2022.07.16 |
ESLint란 (0) | 2022.05.02 |
React 프론트에 백엔드 연결하기 (0) | 2022.04.11 |
[스프링 부트와 AWS로 혼자 구현하는 웹서비스] 등록/수정/조회 API 만들기 (0) | 2022.04.09 |