Setelah berkali-kali mencoba, saya menemukan solusinya sebagai berikut:
POJO:
private int id;
private String name;
private String surname;
private HashMap<String, Object> aditionalColumns;
// getters & setters
Pemeta MyBatis:
<resultMap id="BaseResultMap" type="Person" automapping="true">
<id column="id" property="id"/>
<association
property="aditionalColumns"
resultMap="aditionalColumnsMapper"
columnPrefix="calculated_" />
</resultMap>
<resultMap id="aditionalColumnsMapper" type="map" autoMapping="true"/>
Dalam hal ini, HashMap tambahanColumns saya akan terlihat seperti ini setelah pemetaan:
{column_1=value1, column_2=value2}
Catatan:Saya tidak tahu berapa banyak kolom yang saya butuhkan, jika Anda tahu persis berapa banyak yang Anda butuhkan, dan itu tidak akan berubah, Anda hanya dapat memetakan kolom Anda dengan mengubah resultMap kedua sebagai berikut:
<resultMap id="aditionalColumnsMapper" type="map">
<result column="calculated_column_1" property="calculated_column_1"/>
<result column="calculated_column_2" property="calculated_column_2"/>
</resultMap>