금융 서비스 프로젝트 수행중 ddl-auto update 로 application.properties 파일을 설정했음에도,
orm 방식의 자동 테이블 생성 기능이 동작하지않는 상황발생.
기존의 코드에서 아래처럼
entityscan 코드를 추가해서 강제로 스캔하도록 해보았다.
@SpringBootApplication@EnableCaching // 반드시 추가@EntityScan(basePackages = "com.example.demo.entity") // 이거 추가
이 코드로도 hibernate 가 인식을 못하는것 같다.
maven clean package 명령으로 다시 빌드해보자.
명령후, 타겟폴더에는 새로만든 entity class 가 존재한다.
더 구체적인 디버깅을 위해 코드를 추가했다.
@Component
public class EntityDebugger {
@PersistenceUnit
private EntityManagerFactory emf;
@PostConstruct
public void printEntities() {
System.out.println("=== Hibernate Mapped Entities ===");
emf.getMetamodel().getEntities().forEach(e ->
System.out.println("Mapped entity: " + e.getJavaType().getName()));
}
}
위의 코드는 로그에 잘찍히는 상황.
도커 컨테이너를 내리고 다시 실행해야겠다.
docker-compose down -v