👩🏻‍💻 Programming/SQL

QueryDSL과 H2 DB 연동해서 TC를 작성하다가 발생한 ScriptStatementFailedException

한국의 메타몽 2024. 10. 17. 20:52

복잡한 join이 포함된 JPA를 작성하게되어 QueryDSL로 로직을 구현했다.
join을 사용하다보니 결과 개수가 예상된 개수와 일치하는지 확인이 필요됐다.


H2 DB와 연동하여 테스트 코드를 작성했는데, 테스트 코드 작성중 아래와 같은 에러가 발생했다.


org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement #1 of class path resource [maa/내-파일-입니다.sql]: INSERT INTO 내 테이블 입니다 (...); SQL statement:

보통 이 경우엔 application.yml이나 application.properties에 설정된 ddl 초기 셋팅 설정을 확인하라고 하지만,

내 경우엔 다른 이유였다.




중간에 보면 @ManyToOne으로 PK가 걸려있는데,
이 부분에서 PK 관계가 맵핑된 sql 파일들이 임포드 되지않아 에러가 발생했다.
연관관계가 있는 sql 파일들도 함께 임포트해주니 에러가 해결됐다.