ObjectListDataProvider + table

Iae galera,
tô com o seguinte problema, eu tenho as 3 seguintes tabelas em uma base de dados:

Empresas

empresaId
empresaName

Produtos

produtoId
produtoName

Participacao

empresaId
produtoId
paticipacaoValor

Eu preciso popular uma table (JSF) no seguinte formato:
Cada empresa cadastrada na tabela “Empresas” será uma coluna da table.
Cada produto cadastrado na tabela “Produtos” será uma linha da table.
Os dados para o table viriam da tabela “Participacao” devido a relação que ela tem com as outras duas tabelas.
Meu problema é que não consigo fazer isso, pq pelos exemplos que vejo, todos tratam como se os dados viessem de apenas uma tabela do banco de dados, e com as colunas estaticas, eu preciso disso de forma totalmente dinâmica.
Até achei um artigo que mostra realmente como criar o table na mão e dessa forma consigo ter as colunas dinâmicas (http://blogs.sun.com/winston/entry/creating_dynamic_table) porém, ainda tenho o problema de estar tratando apenas com uma tabela, eu preciso trabalhar com 3.
Acho que o ObjectListDataProvider pode ser um meio de resolver meu problema, mas já procurei em 3 livro sobre java e JSF e nada de citar o bendito ObjectListDataProvider, nem de longe ele cita.
Gostaria de saber se alguém tem uma idéia de como posso solucionar isso ou se tem algum exemplo de uso legal do ObjectListDataProvider.

Muito Obrigado