Po wielu próbach znalazłem rozwiązanie w następujący sposób:
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"/>
W tym przypadku moja aditionalColumns HashMap po zmapowaniu wyglądałaby tak:
{column_1=value1, column_2=value2}
Uwaga:nie wiedziałem, ile kolumn potrzebowałem, jeśli dokładnie wiesz, ile potrzebujesz i to się nie zmieni, możesz mapować tylko swoje kolumny, zmieniając drugą mapę wyników w następujący sposób:
<resultMap id="aditionalColumnsMapper" type="map">
<result column="calculated_column_1" property="calculated_column_1"/>
<result column="calculated_column_2" property="calculated_column_2"/>
</resultMap>