[오류 해결] unable to translate sqlexception with error code '0' will now try the fallback translator

2023. 5. 25. 19:00Programming/Error 처리

unable to translate sqlexception with error code '0' will now try the fallback translator




새 프로젝트의 쿼리 mapper를 실행하다가 났던 오류.




해당 에러 문구를 해결하기 위해 열심히 원인을 검색해보니 가장 크게 두가지로 나뉘어서 나왔었다.

1. 잘못된 쿼리 문장을 실행해서 나는 오류이다.
=> 해당 쿼리문은 Dbeaver에서 정상적으로 실행되었기에 원인 X

2. VO에 없는 변수를 쿼리로 불러오려고 해서 발생하는 오류이다.
=> 해당 VO를 확인해보니 정상적으로 변수선언이 되어 있고, lombok 또한 정상적으로 작동하여 getter와 setter를 생성하고 있었기에 원인 X




몇시간의 삽질 끝에 찾은 에러의 원인! 의외로 원인은 다른곳에 있었다.




바로 mapper를 호출하는 dao의 형식이 맞지 않았기 때문이다.



SpringBoot를 Service interface로 연결해서 mapper단에서 호출하는 것과는 달리, egov에서는 EgovExtendsDAO를 extends 하기 때문에

public ArrayList<?> List(testVO tvo){
  return (ArrayList<?>) list("메소드명", tvo);
}

형식과 같이 맞춰줘야 했다.





+) 본인이 사용하는 프레임워크의 형식을 정확히 파악해야 이런 오류가 발생하지 않는거 같다.
   새로운 프로젝트에 투입되었을 때, 본인의 사용하는 프레임워크로 테스트 페이지를 만들어보는 것이 툴을 빠르게 익히는데 도움이 될거 같다.