Criei tres modelos anotados com @Entity: Despesa, Fornecedor e Item. A "tabela" Despesa, tem campos preenchidos com o id dos outros dois com a intenção de criar relacionamento. Num método da classe DespesaDAO eu gostaria de retornar algo parecido com a seguinte pesquisa:
@Query("SELECT despesa.id, despesa.idFornecedor, despesa.data, despesa.idItem, despesa.quantidade, despesa.preco, fornecedor.nome, item.nome FROM item INNER JOIN (fornecedor INNER JOIN despesa ON fornecedor.id = despesa.idFornecedor) ON item.id = despesa.idItem WHERE (((despesa.idFornecedor)=:idFornecedor) AND ((despesa.data)=:data)); ") List despesas(int idFornecedor, Calendar data)
Sendo que no sistema já tem uma conversão de Calendar para Long
Pergunto: Como é feito no Room um método que envolva uma pesquisa entre diversas tabelas?