Retornar vários tipos de uma única consulta ibatis

Eu tenho um formulário de pesquisa que precisa incluir resultados de duas tabelas diferentes. As tabelas não têm relação entre si e com o nosso separado. No meu cenário de exemplo, temos postos de gasolina e supermercados. A tabela do supermercado pode ter atributos como freezerSize, producStorage, numberOfCarts. A tabela de postos de gasolina pode ter gasTankSizeInGallons, windowCleanerInGallons, etc .... Existem alguns campos compartilhados entre as duas tabelas (ou seja, - numberOfEmployees, squareFeetOfStoreSpace, numberOfShelves, etc ...).

Minha consulta de pesquisa precisa classificar e exibir os postos de gasolina e supermercados juntos. Eu estava pensando em usar uma união SQL e definir os campos não aplicáveis como 0 ou nulo. No entanto, estou realmente perplexo sobre como fazer isso com o ibatis (já que os dois objetos são de um tipo diferente):

<select id="searchQuery" parameterClass="java.util.Map" resultClass="????????????????">
    SELECT
        storeName, storeCity, storeState, numberOfCarts, freezerSize, 0 gasTankSizeInGallons, 0 windowCleanerInGallons
    FROM
        grocery_stores
    UNION
    SELECT
        storeName, storeCity, storeState, 0 numberOfCarts, 0 freezerSize, gasTankSizeInGallons, windowCleanerInGallons
    FROM
        gas_stations
    ORDER BY storeState, storeCity, storeName
</select>

Nota - a consulta real tem muito mais coisas na ordem em que é paginada e há muitos outros campos na seleção (mais uma cláusula where para cada campo aplicável no campo de seleção).

Qual deve ser o resultClass para a consulta acima? Eu tenho uma classe GroceryStore e GasStation, que se estendem da Store. No entanto, a Store não possui muitos dos campos específicos do GroceryStore e do GasStation. Eu poderia fazer duas consultas separadas, mas a ordem dos resultados teria que ser feita em java e seria ineficiente, pois precisaria carregar grandes quantidades de dados primeiro.

obrigado

questionAnswers(1)

yourAnswerToTheQuestion