MyBatis 객체 매핑 type mismatch

Gunjoo Ahn·2022년 7월 30일
0

MyBatis 객체 매핑 type mismatch 에러

기본 생성자가 없어서 생기는 오류였다.

위 블로그 내용 복붙

MyBatis는 ResultMap에 명시된 객체를 생성하기 위해서 다음과 같은 방법들을 사용한다.

  1. 기본 생성자를 이용해 객체를 생성하고, 리플렉션으로 필드를 주입한다.
    → 이 경우, 리플렉션으로 접근 제어를 풀기 때문에 private이어도 상관이 없다.
  2. ResultMap에 정의된 메서드 시그니처와 일치하는 생성자를 찾아 객체를 생성

MyBatis는 1번의 방법으로 우선 객체 생성을 시도하고, 기본 생성자가 존재하지 않으면 2번의 방법을 시도하여 객체를 생성한다.
2번의 방법을 이용하게 되었을 때, 선언된 생성자의 메서드 시그니처 타입과 파라미터 타입이 일치하지 않는다면 해당 에러가 발생하게 되는 것이다.

profile
Backend Developer

0개의 댓글