Sau nhiều lần thử, tôi đã tìm ra giải pháp như sau:
POJO:
private int id;
private String name;
private String surname;
private HashMap<String, Object> aditionalColumns;
// getters & setters
MyBatis Mapper:
<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"/>
Trong trường hợp này, HashMap aditionalColumns của tôi sẽ trông giống như thế này sau khi ánh xạ:
{column_1=value1, column_2=value2}
Lưu ý:Tôi không biết mình cần bao nhiêu cột, nếu bạn biết chính xác số lượng bạn cần và nó sẽ không thay đổi, bạn chỉ có thể ánh xạ các cột của mình thay đổi kết quả thứ hai Bản đồ như sau:
<resultMap id="aditionalColumnsMapper" type="map">
<result column="calculated_column_1" property="calculated_column_1"/>
<result column="calculated_column_2" property="calculated_column_2"/>
</resultMap>