mybatis에서 map으로 결과를 리턴받을경우 조회되는 컬럼 중 값이 null 컬럼은 누락되는 현상이 나오는 걸 볼 수 있다. map에 아예 생성이 되지 않는 증상이다. 이를 해결하기 위해서는 mybatis config 설정을 해줘야 한다.
1. mybatis-config.xml 설정
mybats-config.xml과 같은 설정 파일이 있다면 이렇게 설정한다.
<configuration>
<setting name="callSettersOnNulls" value="true"/>
</configuration>
2. Java 로 MybatisCustomConfig 설정
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
..생략..
org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
configuration.setCallSettersOnNulls(true);
sqlSessionFactoryBean.setConfiguration(configuration);
return sqlSessionFactoryBean.getObject();
}
이렇게 MyBatis Configuration 설정을 통해 해결 할 수 있다.