[ibatis]JavaBeansDataExchange could not instantiate result class

2023. 7. 16. 16:21카테고리 없음

반응형

ibatis에서 객체를 초기화 할 때 생기는 예외입니다.
 
저같은 경우는 xml에서 select문을 사용할 때 resultClass="java.util.Map" 으로 사용했는데
아래와 같이 Cause가 발생했습니다.
 
Cause: java.lang.RuntimeException: JavaBeansDataExchange could not instantiate result class.
Cause: java.lang.InstantiationException: java.util.Map
 
이 경우 resultClass="java.util.HashMap" 으로 변경해주면 해결됩니다.
 
인터페이스 자체를 사용하기 위해서는 그 자체를 구현해주는 클래스로 선언을 해야 하는데 Map은 인터페이스이기 때문에 Map으로 선언해버리면 초기화를 거치지 않고 인터페이스에 직접 접근을 했기 때문에 사용할 수 없는 것이라고 합니다.

반응형