Reutilizando o MyBatis ResultMap em vários mapper.xml

Eu gostaria de reutilizar um específico de diferentes arquivos * Mapper.xml que todos de alguma forma ler os mesmos objetos.

Eu tenho uma tabela de banco de dados chamada Project, que criei o seguinte resultMap para:

<resultMap id="ProjectMap" type="com.model.Project">
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="name" jdbcType="VARCHAR" property="name" />
    <result column="client_prj_no" jdbcType="VARCHAR" property="clientPrjNo" />
    <result column="notes" jdbcType="VARCHAR" property="notes" />
    <result column="start_date" jdbcType="TIMESTAMP" property="startDate" />
    ...
<resultMap>

Ele funciona muito bem no ProjectMapper.xml, no entanto, agora eu quero criar um ClientWithProjectsMapper.xml onde eu quero SELECT * FROM CLIENT, PROJECT onde PROJECT.CLIENT_ID = CLIENT.ID e ter um objeto Client retornado com um objeto List. Em outras palavras, eu quero obter um ClientWithProjects com um único SQL.

No meu mapeamento, eu quero reutilizar o ProjectMap (sem copiar / colar) que eu defini no ProjectMapper.xml, mas não tenho certeza de como fazer isso.

Eu poderia fatorar o ProjectMap em um arquivo separado, mas não encontrei nenhuma facilidade em MyBatis para #incluir outros arquivos.

Alguma idéia de como isso pode ser feito? (Estou usando o Maven, existe algum plug-in que filtre os arquivos procurando #include ou algo semelhante e inclua o conteúdo do arquivo no arquivo sendo processado?).

Obrigado.

-AP_

questionAnswers(1)

yourAnswerToTheQuestion