Por cache de consulta, eu quis dizer o CachedSqlEntityProcessor . Eu sou a favor da fusão solução como em sua outra pergunta MySQL GROUP_CONCAT entradas duplicadas . Mas CachedSqlEntityProcessor também ajudará, se p_id for repetido várias vezes no conjunto de resultados da consulta principal publication_authors , e você tem menos preocupação com o uso de memória extra.
Atualização:Parece que você tem duas outras questões resolvidas, provavelmente você pode ir de qualquer maneira, eu posto o pequeno exemplo/ponteiro conforme você solicitou de qualquer maneira, caso outros achem útil ter
<entity name="x" query="select * from x">
<entity name="y" query="select * from y" processor="CachedSqlEntityProcessor" where="xid=x.id">
</entity>
<entity>
Este exemplo foi retirado do wiki . Isso ainda executará cada consulta "select * from y onde xid=id" por id da consulta principal "select * from x". Mas não enviará a mesma consulta repetidamente.