오류보고

엘리야로 2009. 3. 19. 13:42

ibatis에서 객체를 초기화할때 생기는 예외로 판단됨.

부가적으로 Cause 항목이 더 뜬다면 답은 거기에 있다.

 

Cause: java.lang.RuntimeException: JavaBeansDataExchange could not instantiate result class. 

Cause: java.lang.InstantiationException: java.util.Map

 

나같은 경우는 select문을 쓰면서

parameterClass="map" resultClass="map" 을 썼는데,

select문이 값을 반환할때 map이라는 걸 찾지 못한 것으로 생각된다.(map 은 인터페이스이고, hashmap은 클래스의 차이다. 인터페이스 자체를 사용하기 위해선 그 자체를 구현해주는 클래스로 선언을하여야 하는데 이같은 경우에는 인터페이스를 객체로 구현-일종의 초기화를 거치지않고 인터페이스에 직접접근을 하였기때문에 그형태로서는 사용할수없는 인터페이스변환에서 오류가 발생한것이다.)

그래서 정석대로 java.util.HashMap으로 제대로 표기해줬더니 해결되었다.

(map은 인터페이스, HashMap은 클래스!!!)

 

 

저같은 경우엔 Ibatis 작동순서를 모르고 기본 생성자를 빼먹었거든요
Public Class (){} 이거... 이게 있어야 뒤에 get을 통해 값을 가져오네요